GitHub

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

This page describes how to configure Bamboo to use a GitHub 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.

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

Related pages:

Configure a GitHub source code repository

  1. Go to the repository configuration for a linked repository or plan. See Linking to source code repositories.
  2. Select Add repository, or edit an existing repository configuration.
  3. From the Source repository list, select GitHub repository.
  4. Enter a display name for this repository so that you can identify it quickly later on.
  5. For authentication, select one of the following::
    • Use shared credentials to authenticate, then select your saved username and password from the Shared credentials menu. Discover how to set up shared credentials

    • Provide username and token, then enter your GitHub username and access token into the corresponding fields.

      To learn how to create personal access tokens (PAT) in GitHub, see GitHub documentation. Your PAT must have access to the following scopes to work with Bamboo: public_repo, read:org, read:user, repo:status, admin:repo_hook. For private repositories, use the following scopes: repo, read:org, read:user, admin:repo_hook.
  6. If you are a GitHub Enterprise User:
    1. Check the Using GitHub Enterprise? box.
    2. Enter your GitHub Enterprise base URL in the Base URL text field – if empty it defaults to https://github.com.
  7. Select Load repositories.
  8. (optional) Mark the Enable webhooks checkbox. It determines whether the source repository will use the webhook-based integration of Bamboo with GitHub. Enabling the flag results in the following behavior:

    • Plans using this repository are configured to default to the GitHub repository trigger rather than the polling trigger

    • Branch and pull request detection rely on webhook events rather than polling

    • Enhanced plan branch configuration with Bamboo Specs becomes available

    • Webhook registration is enabled on the repository configuration screen and allows you to set up the GitHub part of the configuration directly in Bamboo.

  9. (optional) Configure the following advanced options for a GitHub source repository for your plan:

Advanced Options

Use submodules
Select to enable submodules support if these are defined for the repository. If native GitHub capability is not defined for agent submodules support will be disabled.

SSH key applies to submodules
Bamboo will use the primary repository's SSH key for submodule authentication.

Command timeout
This is useful to stop hung Bitbucket processes. On slower networks, you may consider increasing the default timeout to allow Bamboo time to make an initial clone of the GitHub repository.

Verbose logs
Turns on --verbose and --debug options in hg commands and passes the output to build logs. Use this option if you encounter problems with GitHub in Bamboo.

Enable quiet period
Specifies 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 changesets
Enter a regular expression to match the commit messages for changesets that should not start a build.

Web 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.

GitHub and Bamboo webhook integration

Learn how to configure Triggering a Bamboo build from GitHub using Webhooks that enables change, branch, and pull request detection. With the integration, you can use branch divergence.

Bamboo statuses in GitHub

You can view the status of Bamboo builds in GitHub.

The Bamboo URL needs to be a fully qualified domain name (FQDN).

This feature is set up automatically. The automatic configuration of Bamboo build statuses in GitHub is compatible with any repositories, provided that valid GitHub credentials are supplied.

Last modified on Nov 20, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.