一尘不染

如何确定使用jenkins git插件推送到git中的远程仓库的用户?

jenkins

我需要找到一个将更改(由不同用户的不同提交组成)推送到远程存储库的人员的git用户名/电子邮件。

推送通过gitblit触发了Post-Receive挂钩,该挂钩触发了jenkins作业,并且正在使用非特定于用户的SSH身份验证。


阅读 269

收藏
2020-07-25

共1个答案

一尘不染

我不得不

  1. 定义一个gitblit用户并将其用于推送更改。
  2. 将我的jenkins作业更改为参数化的作业,并为用户名(myuser)定义一个参数。
  3. 将用户名添加到我的钩子中

def triggerUrl = jenkinsUrl + "/job/" + jenkinsJob + "/buildWithParameters?token=" + jenkinsToken + "&myuser=" + user.getName()
new URL(triggerUrl).getText()

myuser现在是一个环境变量,这里以ant脚本为例:

<property environment="env" />
<target name="xx" description="xx">
    <echo message="${env.myuser}" />
</target>
2020-07-25