通过URL参数为Jenkins作业生成选择分支

通过URL参数为Jenkins作业生成选择分支,jenkins,Jenkins,我每天在Jenkins中构建很多次,我想让它自动化一点,但仍然可以通过web界面访问它 我已经在用URL选择工作(并用非常简单的Alfred工作流构建此URL),但我也想选择一个分支机构–我们有许多回购分支机构,90%的时间我想选择masterofdevelopment jenkins.skypicker.com:8080/job/beta/build非常适合选择作业,但是有没有一种方法可以选择分支,比如jenkins.skypicker.com:8080/job/beta/build?bran

我每天在Jenkins中构建很多次,我想让它自动化一点,但仍然可以通过web界面访问它

我已经在用URL选择工作(并用非常简单的Alfred工作流构建此URL),但我也想选择一个分支机构–我们有许多回购分支机构,90%的时间我想选择
master
of
development


jenkins.skypicker.com:8080/job/beta/build
非常适合选择作业,但是有没有一种方法可以选择分支,比如
jenkins.skypicker.com:8080/job/beta/build?branch=origin/master

从理论上讲,您可以使用该功能定义一个参数,以便以后与GIT插件配置一起使用。然后您应该能够使用如下url格式:

http://jenkins.skypicker.com:8080/job/beta/buildWithParameters?BRANCH=origin%2Fmaster
但要注意分支名称中的特殊字符。如果您可以通过以
origin/$branch
的形式指定分支名称来避免它,则会更安全


记住,为了开始构建过程,必须使用
POST
方法,而不是
GET
-只是一个旁注…

Anser的@ukasz-rżanek是正确的,只是添加了一些我无意中发现的注释

在作业配置中设置此选项:

然后运行它

#!/bin/bash
JOB_NAME="Beta"
JOB_BRANCH=""
JOB_TOKEN="TOKEN"
JENKINS_URL="http://jenkins..."
crumb=`curl "$JENKINS_URL/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)"`
curl -H $crumb -X POST $JENKINS_URL/job/$JOB_NAME/buildWithParameters?token=$JOB_TOKEN

感谢并对迟来的回复表示歉意@ukasz-rżanek。。。你的答案是正确的,我加上了新的答案,只留了几条注释