I'm having two issues with atlassian/jenkins-job-trigger:0.10.0.
The step I'm running is:
- step:
name: Build STW Binaries
script:
- pipe: atlassian/jenkins-job-trigger:0.10.0
variables:
JENKINS_URL: 'https://jenkins.blahblah.com/job'
JENKINS_USER: $JENKINS_PIPELINE_TEMPLATE_USER
JENKINS_TOKEN: $JENKINS_PIPELINE_TEMPLATE_TOKEN
JOB_NAME: 'pipeline-multi/job/$BITBUCKET_BRANCH'
WAIT: 'true'
WAIT_MAX_TIME: 2400
WAIT_SLEEP_TIME: 10
DEBUG: 'true'
CERTIFICATE: $JENKINS_CERTIFICATE
This works fine when there is no '/' in $BITBUCKET_BRANCH but fails with the following when there is a '/':
DEBUG: Starting new HTTPS connection (1): jenkins.blahblah.com:443
DEBUG: https://jenkins.blahblah.com:443 "POST /job/pipeline-multi/job/dev/add-outputs/build HTTP/11" 404 None
✖ Pipe has failed with error:
<!DOCTYPE html><html><head resURL="/static/601505db" data-rooturl="" data-resurl="/static/601505db" data-extensions-available="true" data-unit-test="false" data-imagesurl="/static/601505db/images" data-crumb-header="Jenkins-Crumb" data-crumb-value="e28ade3000f1c5004619d960855e677a68b771e9f2169ae6e86ff93f893c954b">
<title>Not Found - Jenkins</title><link rel="stylesheet" href="/static/601505db/jsbundles/styles.css" type="text/css"><link rel="stylesheet" href="/static/601505db/css/responsive-grid.css" type="text/css"><link rel="icon" href="/static/601505db/favicon.svg" type="image/svg+xml"><link sizes="any" rel="alternate icon" href="/static/601505db/favicon.ico"><link sizes="180x180" rel="apple-touch-icon" href="/static/601505db/apple-touch-icon.png"><link color="#191717" rel="mask-icon" href="/static/601505db/mask-icon.svg"><meta name="theme-color" content="#ffffff"><script src="/static/601505db/scripts/behavior.js" type="text/javascript"></script><script src='/adjuncts/601505db/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/static/601505db/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/static/601505db/scripts/sortable.js" type="text/javascript"></script><link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Jenkins"><meta name="ROBOTS" content="INDEX,NOFOLLOW"><meta name="viewport" content="width=device-width, initial-scale=1"><script src='/adjuncts/601505db/org/jenkinsci/plugins/scriptsecurity/scripts/ScriptApproval/FormValidationPageDecorator/validate.js' type='text/javascript'></script><script id="theme-manager-theme" type="application/json">{ "id": "none", "respect_system_appearance": false }</script>
The job on Jenkins is: http://jenkins.blahblah.com/job/pipeline-multi/job/dev%252Fadd-outputs/
which leads me to believe the issue is that the '/' in the branch is not being url encoded.
Is there a way I can fix this? We use dev/ and feature/ and bugfix/ etc. in most branch names. The build will trigger with:
- step:
name: Build STW Binaries
script:
- pipe: atlassian/jenkins-job-trigger:0.10.0
variables:
JENKINS_URL: 'https://jenkins.blahblah.com/job'
JENKINS_USER: $JENKINS_PIPELINE_TEMPLATE_USER
JENKINS_TOKEN: $JENKINS_PIPELINE_TEMPLATE_TOKEN
JOB_NAME: 'pipeline-multi'
WAIT: 'true'
WAIT_MAX_TIME: 2400
WAIT_SLEEP_TIME: 10
DEBUG: 'true'
CERTIFICATE: $JENKINS_CERTIFICATE
but in this setup the wait to get the build status fails because that step needs the branch name.
In addition, when the branch is specified and the branch is new, the build fails as that branch does not exist until the pipeline job is run to discover it.
I really want the feedback to Bitbucket to work, to avoid people having to check Jenkins unless there is a failure.