Files
cje-crash-course/exercises/09-rest-api/solution/solution.md
Benjamin Muschko 248499c8f6 Initial commit
2019-11-17 16:40:48 -07:00

1.5 KiB

Solution

Create the new user.

Create User

Add user permissions.

User Permissions

Generate the API token.

API Token

Generate the Jenkins crumb from the CLI.

$ curl -u "buildbot:pwd" 'http://localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
Jenkins-Crumb:890d0b4c9c1b111deb55b196813a0ae1
$ export JENKINS_CRUMB=Jenkins-Crumb:890d0b4c9c1b111deb55b196813a0ae1
$ export JENKINS_API_TOKEN=11e2f3c68399b6bc3a28bc06e002be104d

Trigger a build with the curl command.

$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/build

Disable the job via the REST API. You will see that the job indicated its status.

$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/disable

Disabled Job

Reenable the job.

$ curl -X POST -H "$JENKINS_CRUMB" http://buildbot:$JENKINS_API_TOKEN@localhost:8080/job/gradle-initializr/enable

Download the Jenkins URL by calling the URL localhost:8080/jnlpJars/jenkins-cli.jar from the browser.

In the terminal, navigate to the directory that contains the Jenkins CLI JAR file. Use the Jenkins CLI to trigger a build with the correct command. This simply provide the password instead of the API token.

$ java -jar jenkins-cli.jar -s http://localhost:8080 -auth buildbot:pwd build gradle-initializr