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 history of plan specification, and makes it easy to revert to a particular moment in time.
Before you begin
Make sure you have the following:
- native Git installed
- access to Maven central repository
To enable Bitbucket Server repository-stored Bamboo Specs:
- Go to > Linked repositories.
Select your repository.
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 Server as any commit to this repository will refresh Bamboo configuration.
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..
To 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
Additional step for other repositories
Starting from version 6.5, you will be able to use Bamboo Specs Java and YAML with the following repositories:
- Bitbucket Cloud
- Git
- GitHub
- Subversion
Webhooks allow your repositories other than Bitbucket Server to communicate with Bamboo.
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.