Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.

Latest commit

 

History

History

remote-access-api

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

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"}]}'