我在Jenkins中创建了一个作业,通过使用Webhook在GitHub中的任何分支上提交来触发。
我想为每个作业触发器创建一个自定义工作区,分别对应于分支提交。
我尝试了以下选项但无法实现。感谢任何帮助。
Job Name : Test_Clone
在常规部分中使用了高级选项,并尝试使用以下选项动态命名工作区。
Test_Clone_${GIT_BRANCH}
- 始终提供之前版本的分支名称。Test_Clone_${ref}
- 尝试使用GitHub webhook有效负载中定义的ref,但没有结果。要实现:Ex:从GitHub分支release-2.13.0
提交,Jenkins应创建名为Test_Clone_release-2.13.0
的工作区。
答案 0 :(得分:0)
您可以尝试设置
然后是一个webhook网址(在GitHub端):
http://<<yourserver>>/job/<<yourjob>>/buildWithParameters?token=<<yourtoken>>
然后,您的Jenkins作业将在其中包含xml webhook有效负载,您可以分析(with jq
)并提取'ref
' which includes the branch name。
从那里,我会用“branch
”参数调用(链)第二个作业(除非你可以用Jenkins 2编写一个pipeline DSL)并使用该分支名称,以便第二个作业作业以使用基于该参数的自定义工作区名称