Is it possible to download the artifacts created by ALL previously executed jobs without specifying the exact artifact name?
I use spec branches to enable/disable jobs based on the branch type (f.e. release branches need to execute additional builds). At the end of the Pipeline I want to download all artifacts (number of artifacts can be different based on the branch type) and share them as an "all_artifacts" artifact.
I am not able to use the download all aritfacts task because this task also demands the "all_artifacts" artifact. Is there any solution for this topic?
Hello @Simon Beyer,
Welcome to Atlassian Community!
Your requirement is not possible to be achieved using standard tooling in Bamboo. You can possibly try extending Bamboo and run a series of scripts that will do that artifact parsing and download then.
To get information about a build, you can run a curl:
curl -X GET -uuser:pass -H "Accept: application/json" "https://bamboo.mydomain.net/rest/api/latest/result/BAM-SLEEP-34?expand=artifacts"
You can then parse the output of it using your favourite script/programing language and figure out what artifacts are carried with that build.
Then download them (date.txt is my artifact, for example):
curl -X GET -uuser:pass https://bamboo.mydomain.net/browse/BAM-SLEEP-34/artifact/shared/date/date.txt -o date.txt
Once you have all the artifacts you need you can then publish them as "all_artifacts" (as a folder with multiple files or as a single zip archive, your call)
The values of your projectKey-buildKey-buildNumber keys can be expanded in real-time from Bamboo variables:
It is also recommended that you store the values of your username and password or the PAT (personal access token) as encrypted strings in Bamboo.
Atlassian Support APAC
Once you query the artifacts, you will get a json output that can be parsed to get the name of all the artifacts of that build.
Then you can create another call in a loop to download each of them to your desired location.
Atlassian Support APAC
If you want to have a list of files to be downloaded, you will need to parse that overview page.
You can alternatively use a script task to create a single zip file out of your all_artifacts folder, then you can focus on downloading a single zip file and unzipping it at the destination.