Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

can the REST API create a release from a build?

Erik Husby February 22, 2017

Can I create a release for a build from the REST API?

I know that one can have the deployment project triggered by a successful build.  That creates a release and deploys it.

I want to have a suite of builds built and ready to be deployed. But do not want to deploy them until later. And I don't want to have to do all the clicking that one needs to do in the UI.

2 answers

1 vote
Frédéric CORNU February 22, 2017

Hi

 

Sire it can be done

 

in here, some Python code we use in here to do so :

 

def createRelease(self, deploymentProjectId):
    """
    Create a release for the specified deployment project
    :param deploymentProjectId: ID of the deployment project
    :type deploymentProjectId: str
    :return: created release infos
    :rtype: BambooRelease
    """
    depPrj = self.getDeploymentProjectInfos(deploymentProjectId)
    lastBuildResultKey = self.getLastSuccessfulBuildForPlanId(depPrj.planKey).key

    versionResponseDict = self.restClient.doGet("/deploy/projectVersioning/{ID}/nextVersion.json".format(
        ID=deploymentProjectId), {'resultKey' : lastBuildResultKey})

    nextVersionName = versionResponseDict['nextVersionName']

    jsonPayload = {
                    'planResultKey': lastBuildResultKey,
                    'name': nextVersionName
                 }

    response = self.restClient.doPost("/deploy/project/{ID}/version.json".format(ID=deploymentProjectId), json=jsonPayload)

    return BambooRelease.fromReleaseDict(response)

This code uses the 'requests' python module for HTTP/Rest calls.

 

The key aspect of the process is :

1) Get the ID of the build you want to deploy

2) Ask bamboo to generate the next version/release's name from your deployment project's version naming settings

3) Create the release

Hope it can put you on track

Erik Husby February 23, 2017

Looks promising – although I need to update from Bamboo 5.12.2 to at least 5.12.3.1

Good afternoon, I would like to know the step by step for the implementation of the python script for bamboo, I need to make a deploy and one of its scripts make a new release of another deploy.

0 votes
Alexey Chystoprudov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 23, 2017

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events