The instructions on this page describe how to configure a Subversion source repository for either a Plan or a Job.
When creating a new Plan, you must define a 'default source repository'. This includes specifying the source repository settings (including the repository's location), any required authentication details and other options specific to the type of repository. You can also specify the type of build strategy the Plan will use.
The 'default source repository' is initially used by the Plan's 'Default Job' and can also be used by other Jobs added to this Plan. You can override the default repository for any Job, by defining a custom source repository for it (after creating the Plan).
Configuring a Subversion Source Repository
The instructions in this section apply to configuring a source repository for both Plans and Jobs.
To configure a Subversion repository:
If you are creating a new Plan or new Job, or have come from the Editing a Plan or Editing a Job topics, start at step 4.
- Navigate to the source repository settings for a Plan or Job, as described on Specifying the Source Repository for a Plan and Specifying the Source Repository for a Job respectively.
- Enter the details for the Subversion repository as described below:
'
Use Plan's Repository'
(Only available when configuring a Job) — Select this option if you wish to use the 'default source repository' of the Plan to which your Job belongs. If you select this option, you do not need to configure any further source repository options below, although if you are creating a new Job, continue with the
Builder Configuration section of
Creating a New Job.
- 'Repository' — select 'Subversion'.
- 'Repository URL' — The location of your Subversion repository (e.g.
http://svn.collab.net/repos/svn/trunk). Note that you can use global variables in this field (see Using Global or Build-specific Variables).
If you are importing a Maven 2 Project, this location should contain your project's pom.xml file.
- 'Username' (Optional) — The Subversion username (if any) required to access the repository.
- 'Authentication Type' — Select either 'Password', 'SSH' or 'SSL Client Certificate'.
- If you select 'Password', the following fields will appear:
- 'Password' (Optional) — Type the password required by the Subversion username (if applicable).
- 'Change Password' (Only available after first saving the Plan/Job with a password) — Select this check box if you want to change the password that is used to access the Subversion repository.
- If you select 'SSH', the following fields will appear:
- 'Private Key' — Type the absolute path of your SSH private key.
- 'Passphrase' — Type the passphrase for your SSH private key.
- 'Change Passphrase' (Only available after first saving the Plan/Job with a passphrase) — Select this check box if you want to change the password for your SSH private key.'
If you are planning to use remote agents the ssh private key file has to be copied to the agent box into the same location as specified.
- If you select 'SSL Client Certificate', the following fields will appear:
- 'Private Key' — Type the absolute path of your SSL client certificate.
- 'Passphrase' — Type the passphrase for your SSL client certificate.
Please note, the client certificate has to be in PKCS12 format and the client certificate file must be passphrase protected, otherwise a runtime exception is thrown by JDK security engine while opening the user key.
- Advanced Options (The following fields will only appear if you select the 'Show Advanced Options' check box)
- 'Enable Quiet Period:' (Only available when configuring an existing Plan) — Select this setting to set Quiet Period parameters for the Plan's build. Upon selecting this option, the following fields become available:
- 'Quiet Period:' — This field will only display if 'Enable Quiet Period:' has been selected. This setting is used to avoid starting a build while someone is in mid-checkin. Bamboo will only initiate a build for this Plan when no more changes are detected within the Quiet Period following the last known change. Type the number of seconds Bamboo should wait.
- 'Maximum Retries:' — You can specify how many times Bamboo should check for new changes using the Quiet Period parameter before initiating a build. For example, if you have set the 'Quiet Period' to '10' seconds then Bamboo will check if a checkout has occurred in the last 10 seconds. If you have then specified 'Maximum Retries:' as '5', then Bamboo will perform this check five times before initiating the build, regardless of any activity during the Quiet Period of the last check.
- 'Detect Changes in Externals:' (Optional) — Select this check box if your Subversion repository uses svn:externals to link to other repositories (note that your externals must be in the root of the checkout directory, not in a subdirectory). Please note that you only need to select this check box if you require Bamboo to detect changes in the externals. If your externals references a particular (static) revision, you do not need to check this box.
Common Repository Configuration (Only available when configuring an existing Plan/Job)
- 'Force Clean Build:' (Optional) — You can force Bamboo to remove the source directory and check it out again prior to the Plan/Job build being built by selecting this option. Please note that this will greatly increase the time it takes to complete a build.
- 'Clean working directory after each build:' (Optional) — You can force Bamboo to remove the source directory after the Plan/Job is completed building by selecting this option. Please note that this may increase build times but saves on disk space.
- 'Include/Exclude Files:' (Only available when configuring a Plan) — You can specify a particular inclusion or exclusion pattern for file changes to be detected. If you select an option other than 'None', the following field will appear:
- 'File Pattern:' — The regular expression for file changes which you wish to include/exclude. The regex pattern must match the file path in the repository.
- 'Web Repository:' — Select the type of web repository ('None', 'Generic Web Repository', 'Mercurial Web Repository', 'FishEye') to be associated with this build. You will be able to view code changes related to your build via the build results.
Only a subset of Web Repository options are available for your chosen repository type.
- If 'Generic Web Repository' is selected:
- 'Web Repository URL' — If your source repository can be accessed via a web browser, you can specify the URL of the source repository here. If you specify a Web Repository URL, then links to relevant files will be displayed in the 'Code Changes' section of a build result.
- 'Web Repository Module' — The repository name of the Plan/Job, if the above Web Repository URL points to multiple repositories.
- If 'Mercurial Web Repository' is selected:
- 'Mercurial Web Repository Viewer Scheme' — Choose between using the BitBucket Web Repository Scheme (if you use BitBucket) or Mercurial's own default web server (Default Web Repository Scheme (hgserve)).
- If 'FishEye' is selected:
- 'FishEye URL' — The URL of your FishEye repository (e.g. '
https://atlaseye.atlassian.com/').
- 'Repository Name' — The name of your FishEye repository (e.g. '
Bamboo'). This is effectively the alias for your repository path.
- 'Repository Path' — The path for your FishEye repository (e.g. '
/atlassian/bamboo/').
- 'Build Strategy' (Only available when configuring a Plan) — Choose one of the build strategy options (listed below), which will be used for triggering the execution of this Plan. You can change the Build Strategy at a later point in time as required.
You may need to configure other options specific to your chosen build strategy.
If you select Manual & dependent builds only when creating a new Plan, an initial build will not automatically be run. You can force an initial build to be executed automatically by adding the fire.initial.build.for.manual.strategy to your bamboo.cfg.xml file as described in Configuring System Properties.
Click the 'Save' button to save your changes.

Screenshot above: Source Repository — SVN
Appendix - Build Strategies
This table lists Bamboo's available build strategies that determine how the execution of a plan (i.e. a build) is triggered. Each build strategy has other options (listed at the far right of this table), which may also require configuration.
Build strategy option |
Description |
Reason for choosing |
Related documentation |
Polling the Repository for changes |
Bamboo will 'poll' the source code repository for changes based on set intervals or a schedule. If Bamboo detects a change to any code in this repository, a build of this plan will be triggered. |
This is the simplest option. However, this does mean that your SCM must service a 'check out' or 'update' command whenever it is polled, even if no code has changed in the repository. |
Polling the Repository for Changes |
The repository triggers the build when changes are committed |
Bamboo will wait to receive a message from the source code repository (specified above) about any code changes in this repository. When Bamboo receives such a message, Bamboo will trigger a build of this plan. |
This option minimises server load as message events are sent only when code changes to this repository are committed. However, you must configure your source code management system to send message events to Bamboo about code changes in this repository. |
Repository Triggers the Build when Changes are Committed |
Cron Based Scheduling |
Bamboo will trigger a build of this plan based on a Cron expression. |
This option allows you to schedule builds when server load is likely to be minimal, for example, outside office hours. Scheduled builds are triggered irrespective of any code changes in the source code repository. |
Cron Based Scheduling |
Single daily build |
Bamboo will trigger a build of this plan once per day at a specified time. |
This option is suitable if a build of this plan takes a long time to complete. Scheduled builds are triggered irrespective of any code changes in the source code repository. |
Single Daily Build |
Manual & dependent builds only |
Bamboo only triggers a build of this plan when the user chooses this function manually or through a build dependency. |
This option is suitable if a build of this plan will fail, perhaps due to source code problems of failing tests. This frees up Bamboo agents to build other plans which are less likely to fail. |
Triggering a Plan Build Manually |
Notes
- If you are having problems connecting to Subversion, consult our documentation on troubleshooting Subversion connections.
- If you use pre-1.5 Subversion client to access code checked out by Bamboo, you may encounter problems with your builds. This is due to the SVNKit upgrade in Bamboo 2.1.4. Please read this knowledge base article for further details.
Specifying the Source Repository for a Plan
Specifying the Source Repository for a Job