How to build a job using the REST API and cURL?

Issue

I would like to be able to build a job remotely using the Jenkins REST API and cURL. This provides a workaround for JENKINS-12543, that doesn’t require SSH Key Authentication.
 

Environment

  • CloudBees Jenkins Enterprise
  • Remote Access API
  • cURL

Resolution

Example build:

curl -X POST http://developer:developer@localhost:8080/job/test/build

Obviously, replace:

  • developer:developer with your username:password
  • localhost:8080 with your Jenkins URL
  • test with your job name

Example build with String parameter:

curl -X POST http://developer:developer@localhost:8080/job/test/build --data-urlencode json='{"parameter": [{"name":"paramA", "value":"123"}]}'

Obviously, replace:

  • developer:developer with your username:password
  • localhost:8080 with your Jenkins URL
  • test with your job name
  • paramA with your parameter name
  • 123 with your parameter value

See Remote Access API for more.

Have more questions? Submit a request

3 Comments

  • 0
    Avatar
    Gus Reiber

    Very helpful. Thx.

  • 0
    Avatar
    Miruna Popescu

    Hi,

    Is there any way to remotely build a job using the REST API and to add a custom header in the request? Before the build starts to verify this header and to continue or fail the build according to the value of the header?

    Thanks

  • 0
    Avatar
    Denys Digtiar

    Hi Miruna,

    What are you trying to achieve by this?

    Build Parameter support are explained. The endpoint requires authentication and, if enabled, the CSRF token. Therefore, I am not sure what other problem you are trying to solve.

Please sign in to leave a comment.