I want work backwards from a build artifact (eg: .hex file from compiler output) generated by Bamboo and find the associated .git commit reference used to build this artifact.
You could iterate over the JOB that published the artifact by consuming a REST API endpoint http://myhost.com:8085/rest/api/latest/result/{projectKey}-{buildKey}-{buildNumber : ([0-9]+)|(latest)} [GET]
As an example, you could run:
# replace USERNAME with a user who has VIEW permissions over given plan
# replace http://localhost:8085 with Bamboo's Base URL
# replace PROJ-PLAN-JOB1-1 with buildResultKey. Please refer to Bamboo Variables -
https://confluence.atlassian.com/x/nwQ_EQ - for more explanation
curl -k -u USERNAME \
-H 'Content-type: application/json' \
-H 'Accept: application/json' \
-X GET http://localhost:8085/rest/api/latest/result/PROJ-PLAN-JOB1-1?expand=vcsRevisions&expand=artifacts
As result, you will find the commit information under vcsRevisions.vcsRevision[max-result - 1].vcsRevisionKey:
{
...
"vcsRevisions": {
"size": 1,
"expand": "vcsRevision",
"vcsRevision": [
{
"repositoryId": 1605634,
"repositoryName": "My Repository",
"vcsRevisionKey": "defd4d397004415f683af6f356f59d77c04a9a10"
}
],
"start-index": 0,
"max-result": 1
}
...
}
and the artifacts available to build result under artifact[1] onward.
{
...
"artifact": [
{
"name": "Build log",
"link": {
"href": "http://localhost:8085/download/PROJ-PLAN-JOB1/build_logs/PROJ-PLAN-JOB1-1.log",
"rel": "self"
},
"producerJobKey": "PROJ-PLAN-JOB1-1",
"shared": false
},
{
"name": "TXT",
"link": {
"href": "http://localhost:8085/browse/PROJ-PLAN-1/artifact/shared/TXT/",
"rel": "self"
},
"producerJobKey": "PROJ-PLAN-JOB1-1",
"shared": true,
"size": 31,
"prettySizeDescription": "31 bytes"
}
]
...
}
Please, refer to the following documentation for further information:
Hope the information provided help you somehow.
Kind regards,
Rafael
There's build variable planRepository.1.revision which contains revision hash. You can use it to generate artifact name or content
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.