jenkins - Jenkins 管道 scm 环境变量
问题描述
我正在尝试在管道作业中打印 SCM 最后一个 Git 提交者名称。${CHANGE_AUTHOR} 返回 null。我尝试执行以下操作:
def scmVars = checkout scm
并打印结果:
println scmVars
提交和细节都很好。问题是返回的用户不同。在 UI 中符合预期(Nir Koren):
Commit ********** by Nir Koren
但从控制台日志 GIT_COMMITTER_NAME 和 GIT_AUTHOR_NAME 是不同的用户。事实上,是技术用户创建了 Github 的 SSH 密钥。
知道为什么它不同吗?在我实现丑陋的 API 调用构建 URL 之前,有什么线索可以打印提交者的名字吗?
解决方案
GIT_COMMITTER_NAME 是 Jenkins 服务器将提交的用户,与为构建拉下的更改集无关。
文档说明: GIT_AUTHOR_NAME 和 GIT_COMMITTER_NAME - 如果启用了“自定义用户名/电子邮件地址”行为,则输入的名称;回退到“全局配置用户名值”下在 Jenkins 系统配置中输入的值(如果有)
你应该能够做到这一点:
推荐阅读
- browser - 无法发布 Edge 浏览器扩展:包接受验证错误
- javascript - 无法循环从 api 返回的数据
- c# - Web API (.NET Framework) Azure AD 身份验证始终返回 401 Unauthorized
- javascript - 如何使用 Angular 自动格式化电话号码
- javascript - Jasmine 从脚本文件中获取未定义的数组
- ruby-on-rails - 测试命名空间控制器
- html - 如何在 Bootstrap 表中垂直居中元素
- http - HTTPS 代理网站创建虚假网站
- ios - 快速保存图像的最佳方法?
- java - Spring(规范) - 如何创建具有多对多关系和集合的 Criteria Builder