如何知道哪个 git 分支触发了 jenkins 作业

问题描述 投票:0回答:2

我有一个管道 Jenkins 作业正在按预期工作,并配置了选项 “GITScm 轮询的 GitHub 挂钩触发器”,以便在任何推送到 git 存储库时自动构建。

我已经为多个 git 存储库挂钩了这个 Jenkins URL,比如

repo-A
repo-B
repo-B

Jenkins 工作会在任何代码推送到这些存储库时自动触发。

但我想知道哪个存储库触发了 Jenkins 作业,因为它在 Jenkins 级别配置为多个 git 存储库。对此的任何帮助都非常感谢。

git jenkins github groovy jenkins-pipeline
2个回答
2
投票

您可以获取GIT Plugin变量作为步骤结帐的返回值

即:

commit = checkout scm
println commit.GIT_URL

PS:你的标题应该是“如何知道哪个 git repositorybranch 触发了 jenkins 作业”。事实上,为了获取分支的名称,我只需获取

env.BRANCH_NAME

的值

1
投票

按照我在其中一张票证(示例阶段)中的 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

© www.soinside.com 2019 - 2024. All rights reserved.