Jenkins Pipeline SCM环境变量

时间:2018-07-24 15:13:17

标签: jenkins jenkins-pipeline jenkins-groovy

我正在尝试在管道作业中打印SCM最后的Git提交者名称。 $ {CHANGE_AUTHOR}返回null。 我尝试执行以下操作:

def scmVars = checkout scm

并打印结果:

println scmVars

提交和细节都很好。问题是返回的用户不同。在用户界面中符合预期(Nir Koren):

Commit ********** by Nir Koren

但是从控制台日志中,GIT_COMMITTER_NAME和GIT_AUTHOR_NAME是不同的用户。实际上,是技术用户创建了Github的SSH密钥。

有人知道为什么与众不同吗?任何线索,在实现丑陋的API调用构建URL之前,如何打印提交者的名称?

1 个答案:

答案 0 :(得分:1)

GIT_COMMITTER_NAME是Jenkins服务器将作为其提交的用户,并且与为构建下拉的更改集无关。

文档说明: GIT_AUTHOR_NAME和GIT_COMMITTER_NAME-如果启用了“自定义用户名/电子邮件地址”行为,则输入的名称;退回到在Jenkins系统配置中“全局配置用户名值”下输入的值(如果有)

您应该可以做到这一点:

https://support.cloudbees.com/hc/en-us/articles/217630098-How-to-access-Changelogs-in-a-Pipeline-Job-