Differences between using Java Specs via an IDE and Repository Stored Specs in Bamboo

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only. This article only applies to Atlassian products on the server and data center platforms.


Bamboo uses the Java Specs format since a long time ago. Some customers understand Java Specs can only be used through a Repository as Configuration as code, whilst others understand Java Specs can only be used together with an IDE or Maven. It actually can work both ways. This article will explains the difference between both techniques, and their advantages and disadvantages. 


Using an IDE or Maven to control Bamboo Specs

By using an IDE or Maven, any pushed changes are considered "manual pushes", I.E. they are not coming from a Repository. In other words, if you decide to use an IDE to push your Bamboo Specs, you will also have to remember to actually "push" the changes to Bamboo after your Plan is modified.

By choosing this strategy, customers still have the ability to make changes to the Plans via the Bamboo UI. Whilst this imposes you certain flexibility, it also introduces some potential risk as any manual Plan changes in Bamboo will not reflect the ones published through the IDE/Maven, so that may require some extra control from the developers.

One additional advantage of using the manual push method is that the whole request is placed over a valid username and password, making certain requests that require an authenticated user such as adding a Linked Repository work.

More information here:

Using Repository Stored Specs (RSS)

Bamboo's Repository Stored Specs allows the developers to have total control and assurance over each Plan's content. By enabling RSS, your Plan modification will be "locked" in the UI and any changes to it will only be allowed through your Linked repository. This strategy assures that any changes to your plan are to be approved as code in your repository before being published.

When using the menu option Specs -> Setup Specs repository, RSS will be enabled on the Linked repository and added to the indicated Project in Bamboo, while at the same time enabling Bamboo Specs and triggering the first Scan. After enabling it your Plans will get updated based on your repository's Bamboo Specs content and locked for any manual changes if any Spec Plans are found. You can then start using Bamboo Specs immediately via RSS. Enabling RSS can be also done on the Repository Settings -> Bamboo Specs tab.

Using RSS does not allow certain operations such as adding Linked Repositories as the changes will come without an authenticated user, making Bamboo not sure if such transaction is allowed or not.

To disable Repository Stored Specs (RSS) for a Plan, you will need to undo the changes in the UI (Remove any Linked repository and disable Bamboo-Specs) then push the change via Maven/IDE. After this, the Plan will be unlocked in the UI for any manual changes.

Last modified on Jun 29, 2022

Was this helpful?

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