Enabling repository-stored Bamboo Specs

Storing Bamboo Specs in a repository allows you to keep your project configuration together with the code and automatically publish any code changes. It also gives you access to the history of plan specifications and makes it easy to revert to a particular moment in time.

Repository-stored Bamboo Specs are natively supported in Bitbucket Data Center and Bitbucket Cloud repositories. To use repository-stored Bamboo Specs with other types of repositories (including Git, GitHub, and Subversion), set up webhooks to trigger Bamboo to scan for changes to Specs.


Before you begin

Make sure that:

  • native Git is installed
  • you have access to the Maven central repository

Enable repository-stored Bamboo Specs in Bitbucket Data Center and Bitbucket Cloud

To enable repository-stored Bamboo Specs:

  1. In the upper-right corner of the screen, select
    Administration bamboo administration icon
    Linked repositories.
  2. Select your repository.

  3. In the Bamboo Specs tab, enable Scan for Bamboo Specs.

    Bamboo Specs from this repository will be able to modify your plans and deployments in Bamboo. Make sure that write permissions to this repository are properly set in Bitbucket Data Center or Bitbucket Cloud as any commit to this repository will refresh Bamboo configuration.


  4. In the Access section, select which projects Bamboo Specs can access and decide if Bamboo Specs should be allowed to create new build and deployment projects.

    Project creation allowed

    Available only to users with global 'Create' permission. Use this option if you want to be able to create new build projects and deployment projects from Bamboo Specs. Bamboo Specs will be allowed to access and modify projects thus created.

    All projects

    Available only for Bamboo administrators. Use this option if you want to have a repository managing multiple build plans and deployment projects in your Bamboo instance.

    Build projects

    You must have project administrator or Bamboo administrator permissions to add a build project. You can't add new projects here.

    To add a Build project:
      1. From the Bamboo header, select Projects.
      2. Select your project.
      3. In the top-right corner, click Project settings.
      4. In the sidebar, select Bamboo Specs repositories.
      5. Select your repository and select Add

        In case a plan downloads artifacts from another project (the Artifact Downloader task) or triggers builds of plans in another project (the Dependencies tab on the Plan configuration page), you have to grant access to these projects as well.

    Deployment projects

    You must have project administrator or Bamboo administrator permissions to add a deployment project. You can't add new projects here.

    To add a Deployment project:
      1. From the Bamboo header, select Deploy > All Deployment Projects.
      2. Select your project.
      3. In the top-right corner, select [...] > Edit project.
      4. Select Bamboo Spect repositories.
      5. Select your repository and select Add
        Now, Bamboo Specs from this repository will be able to modify this deployment project and environments. Once you have added your repositories, you can see them listed in the Projects section in Linked repositories. 

Enable project-level repositories using repository-stored Bamboo Specs

If the repository is defined within a project, it can be used to create/update plans within that project. For configurations outside the project, linked repositories need to be used.  BAM-21632 - Getting issue details... STATUS

Use webhooks with other repository types

Webhooks allow repositories other than Bitbucket Data Center and Bitbucket Cloud to communicate with Bamboo (including Git, GitHub, and Subversion).

The following is an example of a webhook request using curl for a Git repository:

#!/bin/bash
/usr/bin/curl -X POST -H "X-Atlassian-Token: no-check" http://[BAMBOO_URL]/bamboo/rest/api/latest/repository/scan\?repositoryId\=[REPOSITORY_ID]

Once you set up a webhook for a repository, it sends the HTTP request to Bamboo with every new commit. This HTTP request, in turn, triggers Bamboo Specs scan repository to see if there are any changes to Specs. If Bamboo detects any changes in a repository, it automatically updates necessary plans and deployments. Learn more about setting up webhooks.


Last modified on Oct 19, 2023

Was this helpful?

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