Changes for 5.13

Here's a list of API changes for Bamboo 5.13:

Script task configuration changes

We've changed configuration keys for the script task:

Key Change description
interpreter

Specifies script interpreter to be used while running a script. The allowed values are:

  • RUN_AS_EXECUTABLE
  • POWERSHELL
  • LEGACY_SH_BAT

Status: new.

runWithPowershell

Replaced by the POWERSHELL interpreter.

Status: removed.


Removed methods

c.a.b.buildqueue.manager

The following deprecated methods have been removed:

  com.atlassian.bamboo.buildqueue.manager.AgentManager
    /**
     * Gets all agents which can run a given {@link com.atlassian.bamboo.v2.build.agent.capability.RequirementSet}
     *
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     * @return
     */
    @Deprecated
    @NotNull
    Collection<BuildAgent> getExecutableAgents(RequirementSet requirementSet, boolean includeDisabled);

    /**
     * Gets all agents which can run a given {@link com.atlassian.bamboo.v2.build.agent.capability.RequirementSet}
     *
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     * @return
     */
    @Deprecated
    @NotNull
    Collection<BuildAgent> getExecutableAgents(RequirementSet requirements, DisabledAgentsInclusion includeDisabled, OfflineAgentsInclusion includeOffline);

    /**
     * Retrieves a list of all images which satisfy the given requirements set.
     *
     * @param requirementSet to check
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     *
     * @return Any configured {@link com.atlassian.bamboo.agent.elastic.server.ElasticImageConfiguration} which can
     *         build the requirement set (currently this can be 1 or none)
     */
    @Deprecated
    @NotNull
    Collection<ElasticImageConfiguration> getExecutableImages(@NotNull RequirementSet requirementSet);

    /**
     * Retrieves a list of all images which satisfy the given requirements set.
     *
     * @param requirementSet  to check
     * @param includeDisabled whether to include images configurations which are currently disabled
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     *
     * @return Any configured {@link com.atlassian.bamboo.agent.elastic.server.ElasticImageConfiguration} which can
     *         build the requirement set (currently this can be 1 or none)
     */
    @Deprecated
    @NotNull
    Collection<ElasticImageConfiguration> getExecutableImages(@NotNull RequirementSet requirementSet, boolean includeDisabled);

 
    /**
     * Returns a matrix of how many agents match each requirement in the set. Also adds the total number of agents that
     * matches the set
     *
     * @param requirementSet
     * @param includeDisabled
     *
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     */
    @Deprecated
    @NotNull
    ExecutableAgentsMatrix getExecutableAgentsMatrix(@NotNull RequirementSet requirementSet, boolean includeDisabled);

    /**
     * Returns a matrix of how many agents match each requirement in the set. Also adds the total number of agents that
     * matches the set
     *
     * @param requirementSet
     * @param includeDisabled
     * @param includeOffline
     *
     * @deprecated since 5.0 use methods of {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper}
     */
    @Deprecated
    @NotNull
    ExecutableAgentsMatrix getExecutableAgentsMatrix(@NotNull RequirementSet requirementSet, DisabledAgentsInclusion includeDisabled, OfflineAgentsInclusion includeOffline);

c.a.b.v2.build.agent.capability

The following deprecated methods have been removed:

  com.atlassian.bamboo.v2.build.agent.capability.CapabilitySetManager
    /**
     * Collection of buildables for  which this capability set can meet the requirements of
     * @deprecated since 5.0.  Will not filter by agent assignments. Use {@link com.atlassian.bamboo.plan.ExecutableAgentsHelper#getExecutableBuildables(com.atlassian.bamboo.plan.ExecutableAgentsHelper.ExecutableQuery)}
     */
    @NotNull
    @Deprecated
    Collection<ImmutableBuildable> getExecutableBuildables(@NotNull ReadOnlyCapabilitySet capabilitySet);

Repository configuration changes for Bitbucket Cloud, Git, and Mercurial

We've modified the repositories configuration model in Bamboo. The list below contains all changes in properties that are used by Bamboo to store configuration of repositories, both in the database and in runtime (for example, the data passed to agents).

Git repository configuration changes

Before:

repository.git.sharedCrendentials = <credentialsId>

Now:

repository.git.sharedCredentials = <credentialsId>

NOT SET

repository.git.sharedCrendentials

Comment:

Typo fix

Before:

repository.git.authenticationType = SHARED_CREDENTIALS

Now:

repository.git.authenticationType = SSH_KEYPAIR

repository.git.sshCredentialsSource = SHARED_CREDENTIALS

Comment:

Refactoring shared credentials to be a sub-type of actual authentication method


Before:

repository.git.authenticationType = SSH_KEYPAIR

Now:

repository.git.authenticationType = SSH_KEYPAIR

repository.git.sshCredentialsSource = CUSTOM

Comment:

Refactoring shared credentials to be a sub-type of actual authentication method

Before:

repository.git.authenticationType = PASSWORD

Now

repository.git.authenticationType = PASSWORD

repository.git.passwordCredentialsSource = CUSTOM

Comment:

Refactoring shared credentials to be a sub-type of actual authentication method

Mercurial repository configuration changes

Before:

repository.hg.authenticationType = PASSWORD
repository.hg.username = <username>
repository.hg.password = <encrypted-password>

Now:

repository.hg.authenticationType = PASSWORD
repository.hg.password.source = CUSTOM
repository.hg.password.username = <username>
repository.hg.password.password = <encrypted-password>

NOT SET

repository.hg.username
repository.hg.password

Comment:

Introducing credentials source property and renaming

Before:

repository.hg.authenticationType = SSH_PROXY
repository.hg.ssh.keyFromFile = <sshKey>
repository.hg.ssh.passphrase = <encrypted-passphrase>

Now:

repository.hg.authenticationType = SSH_PROXY
repository.hg.ssh_proxy.source = CUSTOM
repository.hg.ssh_proxy.privateKey = <sshKey>
repository.hg.ssh_proxy.passphrase = <encrypted-passphrase>

NOT SET

repository.hg.ssh.keyFromFile
repository.hg.ssh.passphrase

Comment:

Introducing credentials source property and renaming

Before:

repository.hg.authenticationType = KEYFILE
repository.hg.ssh.keyFromFile = <encrypted-sshKey>

Now:

repository.hg.authenticationType = KEYFILE
repository.hg.keyfile.privateKey = <encrypted-sshKey>

NOT SET

repository.hg.ssh.keyFromFile

Comment:

Renaming


Before:

repository.hg.authenticationType = SHARED_CREDENTIALS
repository.hg.sharedCredentials = <credentialsId>

Now:

repository.hg.authenticationType = SSH_PROXY
repository.hg.ssh_proxy.source = SHARED_CREDENTIALS
repository.hg.ssh_proxy.sharedCredentials = <credentialsId>

NOT SET

repository.hg.sharedCredentials

Comment:

Moving to SSH_PROXY authentication type as a different source of credentials. Now SHARED_CREDENTIALS is no longer an authentication type.

Values marked as encrypted- need to be passed through EncryptionService.encrypt before storing in configuration.

Bitbucket repository configuration changes

Before:

repository.bitbucket.username = <username>

NOT SET

repository.bitbucket.password

Now:

repository.bitbucket.accessLevel = PUBLIC

repository.bitbucket.owner = <username>

repository.bitbucket.authenticationType = NONE

NOT SET

repository.bitbucket.username

repository.bitbucket.password

Comment:

We've emphasised the difference between public and private repositories in the UI, which required some changes in the model.

Additionally, we've introduced the authentication type so that the users can override it.

Before:

repository.bitbucket.username = <username>

repository.bitbucket.password = <password>

Now:

repository.bitbucket.accessLevel = PRIVATE

repository.bitbucket.passwordCredentialsSource = CUSTOM

repository.bitbucket.username = <username>

repository.bitbucket.password = <password>

repository.bitbucket.authenticationType = PASSWORD

NOT SET

repository.bitbucket.owner

Comment:

We've emphasised the difference between public and private repositories in the UI, which required some changes in the model.

Additionally, we've introduced the authentication type so that the users can override it.

Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport