can the REST API create a release from a build?

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

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

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.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published 11 hours ago in Statuspage

194 years of downtime: looking back on incident data from 2018

Statuspage customers logged more than 194 years of collective incidents in 2018. That’s a whopping 87% increase from the  104 years logged in 2017 , and we aren’t even through December yet....

23 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you