如何通过终端 运行 Jenkins 作业?

How can I run the Jenkins jobs through terminal?

我听说有一个版本可以使用 webhooks 来做这件事。 请帮助)

你的问题不是很准确...

但是要使用终端启动作业,这里是使用 Curl 的解决方案:

curl "http://JENKINS_HOST/job/MY_JOB_NAME/build"

有几种方法可以从命令行触发 Jenkins 构建:

  1. Remote access API 以类 REST 风格提供:
  • 没有参数的作业:

         curl -X POST JENKINS_URL/job/JOB_NAME/build --user username:token
    
  • 带参数的作业:

         curl -X POST JENKINS_URL/job/JOB_NAME/build \
         --user username:token \
         --data-urlencode json='{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
    OR
         curl -X POST JENKINS_URL/job/JOB_NAME/buildWithParameters/id=123&verbosity=high \
         --user username:token
    
  1. Jenkins CLI - 一个内置命令行客户端,允许您从脚本或您的 shell:

    访问 Jenkins
     java -jar jenkins-cli.jar -s JENKINS_URL/ build JOB_NAME -w
       OR
     java -jar jenkins-cli.jar -s JENKINS_URL/ build "folder1/folder2/JOB_NAME" -s
    
  2. 包装器:Ruby, Python, Java, Javascript等。您可以编写一个简单的程序来使用您喜欢的语言执行 Jenkins 构建。