Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Trigger Jenkins Job build via Jenkins Remote Access API

REF: https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Global config for security

Get CRUMB

USER=admin
PASSWD=admin
TOKEN=12345678
IP=x.x.x.x
JENKINS_URL="http://$USER:$PASSWD@$IP:8080"
JOB_NAME="case1-gradle-examples"

$ curl -s --user $USER:$PASSWD http://$IP:8080/crumbIssuer/api/json
{"_class":"hudson.security.csrf.DefaultCrumbIssuer","crumb":"58e45f5135ae87a5fb9043e7b46xxxxx","crumbRequestField":"Jenkins-Crumb"}

$ CRUMB=$(curl -s "http://$USER:$PASSWD@$IP"':8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
or
$ CRUMB=$(curl -s --user $USER:$PASSWD $JENKINS_URL'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')

$ echo $CRUMB
Jenkins-Crumb:58e45f5135ae87a5fb9043e7b46xxxxx

Jobs without parameters

Job config

Call jenkins remote api to trigger build

$ curl -X POST -H $CRUMB $JENKINS_URL/job/${JOB_NAME}/build?token=$TOKEN

Jobs with parameters

Job config with parameter

Call jenkins remote api to trigger build with parameter

$ curl -X POST -H $CRUMB $JENKINS_URL/job/${JOB_NAME}/build?token=$TOKEN \
--data-urlencode json='{"parameter": [{"name":"p1", "value":"test"}]}'