This page describes how to configure Bamboo to use a Mercurial repository.

You can specify repositories at the following levels in Bamboo:

  • global – repositories are available to all plans in Bamboo.
  • plan – repositories are available to all jobs in the Bamboo plan.
  • job – repositories are available to all tasks in the Bamboo job.

The recommended approach is to set up linked source repositories at the global level – see Linking to source code repositories.

Before you start:

  • Please use Mercurial 2.1.1 or later. Mercurial 2.1 has a bug that makes it incompatible with Bamboo.
  • You will not be able to create plans or jobs that use a Mercurial repository without specifying the shared local Mercurial capability first. Read more about configuring a version control capability.

 

Related pages:

Configure a Mercurial source repository

  1. Navigate to the repository configuration for a linked repository, plan or job. See Linking to source code repositories.
  2. Either click Add Repository to add a new repository, or edit an existing repository configuration.
  3. Choose Mercurial from the Source Repository list.
  4. Enter a Name to help identify the repository in Bamboo.
  5. You can configure the following settings for a Mercurial source repository for your plan:

 

Repository URL

The full path to your Mercurial repository (eg: git://bitbucket.org/atlassian/bamboo-git-plugin.git)

Valid URLs are of the form:

  • local/filesystem/path[#revision]
  • file://local/filesystem/path[#revision]
  • http[s]://[user[:pass]@]host[:port]/[path][#revision]
  • ssh://[user[:pass]@]host[:port]/[path][#revision]

(for further references visit Mercurial documentation)

Branch   The name of the relevant branch (or tag) you want to work on. Leave empty to work on default branch.
AuthenticationUsername and password

You can use shared credentials or type a username and a password.

SSH private key

You can use shared credentials or upload an SSH key and provide the SSH passphrase.

SSH private key (direct connection) Upload an SSH Key. The passphrase is not required.
Default Mercurial credentialsBamboo will rely on the default hg authentication. Use this option, for example, if you had set up the Bamboo server manually with SSH servers defined in .ssh/config, valid SSH identity files, etc.

Advanced Options

Command timeout

Type the number of minutes bamboo should wait for hg commands to finish. This is useful to stop hung Mercurial processes. On slower networks you may consider increasing default timeout to allow Bamboo to make an initial clone of the Mercurial repository.

Verbose logs Turns on --verbose and --debug options in hg commands and passes the output to build logs. Use that option if you encounter problems with Mercurial in Bamboo.
Location of POM file

Type the path to your project's pom.xml file which is relative to the root of your Mercurial Repository URL (defined above).

(Only available when importing a Maven 2 project) 

Disable repository cachingSelect this option to enable subrepositories support.
Enable Quiet PeriodSpecifies a delay after a single commit is detected before the build is started. This allows multiple commits to be aggregated into a single build.
Include/Exclude Files

Allows you to specify the files that Bamboo should, or should not, use to detect changes.

Enter into File Pattern a regular expression to match the files that Bamboo  includes or excludes. The regex pattern must match the file path in the repository. See sub page for examples.

Exclude ChangesetsEnter a regular expression to match the commit messages for changesets that should not start a build.
Web Repository  

If your repository can be viewed in a web browser, select the repository type.

This allows links to relevant files to be displayed in the 'Code Changes' section of a build result.

Mercurial Web Repository – select one of the following viewer schemes:

    • BitBucket Web Repository Scheme (if you use BitBucket)
    • Default Web Repository Scheme (hgserve) (Mercurial's own default web server)
Stash – specify the following details for the repository:
    • Stash URL – the URL of your Stash (now Bitbucket Server) instance (e.g. ' https://bitbucket.mycompany.com ').
    • Stash Project Key – the key of the project in Stash (e.g. 'CONF').
    • Repository Name – the name of the repository in Stash (e.g. 'conf-dev').

Use this option to connect to a Bitbucket Server repository.

FishEye – specify the URL and other details for the repository:

    • 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/').

See Integrating Bamboo with FishEye for more information.

How do I determine my Repository Path?

If you have previously run builds with changes from your repository, the easiest way of determining your repository path is to view the code changes and copy the path from the start of the path of one of the changed files, up to (but not including) the appropriate root directory. The root directories for repositories are the ones shown by FishEye when browsing a repository (e.g. trunk)). For example, if a code change listed /atlassian/bamboo/trunk/bamboo-acceptance-test/pom.xml, the path would be /atlassian/bamboo/.
If you have not previously run builds with changes from your repository, you will need to ask your FishEye administrator for the repository path indexed by FishEye.