通过URL参数为Jenkins作业构建选择分支

时间:2014-06-02 08:53:27

标签: jenkins

我每天都会多次在Jenkins中构建,我想稍微自动化它,但仍然可以通过Web界面访问它。

我已经选择了带URL的工作(并使用非常简单的Alfred工作流构建此URL),但我还想选择一个分支 - 我们在repo中有很多分支,90%的时间我想选择{ {1}} {/}的{1}}

master非常适合选择工作,但有没有办法选择分支,例如develop

2 个答案:

答案 0 :(得分:2)

理论上,您可以使用Parameterized Build功能稍后定义一个参数,以便与GIT插件配置一起使用。然后你应该能够使用这样的url格式:

http://jenkins.skypicker.com:8080/job/beta/buildWithParameters?BRANCH=origin%2Fmaster

但请注意分支名称中的特殊字符。如果您可以通过以origin/$BRANCH的形式指定分支名称来避免它,那么它会更安全......

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

答案 1 :(得分:0)

@Łukasz-rżanek的Anser是对的,只是添加了一些我偶然发现的笔记

在作业配置中设置:

enter image description here

并运行它

#!/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