我有一个管道 Jenkins 作业正在按预期工作,并配置了选项 “GITScm 轮询的 GitHub 挂钩触发器”,以便在任何推送到 git 存储库时自动构建。
我已经为多个 git 存储库挂钩了这个 Jenkins URL,比如
repo-A
、repo-B
、repo-B
。但我想知道哪个存储库触发了 Jenkins 作业,因为它在 Jenkins 级别配置为多个 git 存储库。对此的任何帮助都非常感谢。
您可以获取GIT Plugin变量作为步骤结帐的返回值
即:
commit = checkout scm
println commit.GIT_URL
PS:你的标题应该是“如何知道哪个 git repository 和 branch 触发了 jenkins 作业”。事实上,为了获取分支的名称,我只需获取
env.BRANCH_NAME
的值
按照我在其中一张票证(示例阶段)中的 Jenkins 错误跟踪器上发现的示例,这就是我的管道中的工作原理:
stage("checkout") {
script {
def git_params = checkout(...)
println(git_params)
env.REPO = git_params["GIT_URL"]
}
}
git_params
还包括:GIT_AUTHOR_EMAIL
、GIT_AUTHOR_NAME
、GIT_BRANCH
、GIT_COMMIT
、GIT_COMMITTER_EMAIL
、GIT_COMMITTER_NAME
、GIT_PREVIOUS_COMMIT
、GIT_PREVIOUS_SUCCESSFUL_COMMIT
。