python - 远程构建特定的 Jenkins 分支

标签 python git jenkins tfs jenkins-api

我想知道远程触发 Jenkins 作业时是否可以指定要构建的分支。我正在编写一个 Python 脚本,其中涉及运行特定的 Jenkins 构建。

我能够从我的脚本成功运行构建,但我想知道是否有办法使构建针对特定分支运行。

构建在 Jenkins 上运行,我使用 TFS 进行源代码管理。

这就是我调用作业的方式 - 我尝试添加参数,但这没有执行任何操作。

crumb=CrumbRequester(username="admin", password="2fa99c1e2aa61671d6b4334c8f0e77af", baseurl='http://localhost:8080/')
a = Jenkins('http://localhost:8081/', username="admin", password="2fa99c1e2aa61671d6b4334c8f0e77af", requester=crumb)
job = a.get_job("Project PR_DataCollectionWeb")
job.invoke(build_params={'GIT_BRANCH': git_branch})

我无法指定此作业运行时要构建的分支,因为无法预先确定需要运行的分支。

最佳答案

添加一个名为 BRANCH 的字符串参数

将变量 ${BRANCH} 添加到源代码管理 session 下的“要构建的分支”(我在这里指的是 git,TFS 无需更改)

使用以下url触发

http://<jenkins url>/job/<job name>/buildWithParameters?token=<your token>&BRANCH=<your branch>

关于python - 远程构建特定的 Jenkins 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45199374/

相关文章:

python - pandas:多列的 to_numeric

python - 如何从字典有效构建数据框(pandas)

git - 为什么我没有收到错误 "fatal: The current branch A has no upstream branch."

javascript - HTML5 文件 api 和 octokit.js 以及二进制文件

curl - Jenkins 反向代理到替代端口号

git - key 应该放在 Jenkins 服务器的什么位置?

python - OpenCV的findContours不正常

python - 解析 docopt 参数类型(任何语言)

git-subtree:从克隆的存储库推送更改

jenkins - 尝试使用 -secret 选项通过 JNLP 通过命令行启动 Jenkins 从站时出现 401 Unauthorized 错误