Hello,
I need to upload the zipped artifact file from a .NET project build to Veracode, for security vulnerability scanning. To do this I have to define the shared artifact location with a variable in the script. The absolute path for the shared artifact location is like that:
C:\bamboo-home\shared\artifacts\plan-12345678\shared\build-00099\App-Zip-File\Name.Of.Solution.zip
The problem with this file path is the numbered plan and the numbered build. I couldn't find how Bamboo defines the numbers of the plans. To find the location of the zipped file, I had to search by the solution name. After the build was finished, the build working directory would be deleted, and the artifacts would be copied to the shared directory, but the Key of the plan is not used, it's this number that is used and I can't understand how it is generated. All I can find in Bamboo is the Key of the plan. To pass the file path to veracode, I need to have variables to get the plan number and build number.
Can anyone assist, please?
Thank you.
If you are looking to find the place the file is located you can do the following:
#!/bin/bash
planKey=${bamboo_planKey}
buildNumber=${bamboo_buildNumber}
stageName=<THE PAST STAGE KEY THAT CREATED THE ARTIFACT>
folder_number=$(curl -s -k -u admin:admin -H 'Accept: application/json' https://bamboo.mydomain.net/rest/api/latest/result/${planKey}-${stageName}-${buildNumber}?expand=results.result.artifacts | jq -r '.logFiles[] | split("/") | last| split("-")[1]')
echo "The location is <bamboo-home>/shared/artifacts/plan-${folder_number}/${stageName}/build-${buildNumber}/<artifact_name>..."
Apparently, as you are running Windows, you might have to adjust the script to PowerShell (or you can use cygwin or enable WSL.
More on the API: https://developer.atlassian.com/server/bamboo/bamboo-rest-resources/#build-service----all-builds
Regards,
Eduardo Alvarenga
Atlassian Support APAC
Hi @Eduardo Alvarenga ,
Many thanks for such a prompt and detailed response! I will try your solution and get back to you.
Regards,
Pavlos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you @Pavlos Parcharidis please don't forget to accept the answer if it suits you :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Eduardo Alvarenga ,
Thanks again for providing such a complete answer. Unfortunately, I can't confirm if this solution works, as I couldn't convert your solution to a working powershell solution.
I had to follow a simpler path in the end, by downloading the artifact to a folder, and then uploading to Veracode from that folder.
I'm not sure if I should accept your answer as the solution. Just asking for other members looking into this post.
Kind Regards,
Pavlos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you for the feedback @Pavlos Parcharidis. I have shown one solution that works for your case. There are possibly other solutions (like yours) that are not bound to the technical description.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.