I would like to query Jenkins using it's API and Python to fetch the branch that is currently ready to be built.
How can I do that?
I would like to query Jenkins using it's API and Python to fetch the branch that is currently ready to be built.
How can I do that?
From the jenkins API you can check
lastSuccessfulBuild/api/json?tree=actions[buildsByBranchName]
Maybe what you can do is build your stuff, and have a second job triggered after your build job is finished.
Then in this new job, you can find the branch name
I dont use python, but with jq you can get the branch names in an array like this:
jq -r '.actions[].buildsByBranchName | select(. != null)'
The full code (you can of course replace the bash vars correctly):
JENKINS_API_URL=$JENKINS_SERVER/job/$DEPLOY_JOB/lastSuccessfulBuild/api/json?tree=actions[buildsByBranchName]BRANCHES_JSON=$(curl --globoff --insecure --silent $JENKINS_API_URL)BRANCHES=`echo $BRANCHES_JSON | /var/lib/jenkins/tools/jq/jq -r '.actions[].buildsByBranchName | select(. != null)'`