如何在Jfrog Pipeline中获取提交者名称/登录名(含合并到master分支场景)
在JFrog Pipeline中获取合并到master分支的提交者信息
一、先确认你用的资源变量是否正确
你尝试的res_<resource name>_committerLogin是JFrog Pipeline针对Git资源的内置变量,但得注意两个点:
- 把
<resource name>换成你流水线里实际配置的Git资源名称,比如资源叫project-git-repo,变量就是res_project-git-repo_committerLogin - 这个变量只在触发流水线的提交事件里有效,包括合并到master的PR提交场景
二、流水线步骤里获取提交者信息的具体方法
1. Shell脚本步骤直接调用
如果你的流水线步骤是Shell脚本,直接引用变量就行:
echo "提交者登录名: $res_project-git-repo_committerLogin" echo "提交者全名: $res_project-git-repo_committerName"
注:JFrog还提供res_<resource name>_committerName变量,用来获取提交者的全名
2. Pipeline DSL配置中引用
要是用声明式流水线的DSL配置,步骤里直接写变量就行:
steps { shell 'echo 提交者登录名: ${res_project-git-repo_committerLogin}' }
3. 合并提交的特殊情况处理
合并PR到master时要注意:默认的合并提交里,committer是执行合并操作的人,而非原代码提交者。如果要拿PR的原提交者信息,得用author前缀的变量:
res_<resource name>_authorLogin:原提交者的登录名res_<resource name>_authorName:原提交者的全名
根据你的实际需求选对应的变量就行
三、快速验证变量的小技巧
可以在流水线里加个调试步骤,把相关变量都打出来确认:
echo "Committer登录名: $res_project-git-repo_committerLogin" echo "Committer全名: $res_project-git-repo_committerName" echo "Author登录名: $res_project-git-repo_authorLogin" echo "Author全名: $res_project-git-repo_authorName"
内容的提问来源于stack exchange,提问作者Nitin Dagdi
相关产品推荐
相关产品推荐

