当前位置: 首页 > 面试题库 >

Jenkins和Git-如何获取提交者的名字?

于意智
2023-03-14
问题内容

我试图将更多的GIT提交信息放入HipChat会议室。

我看到在詹金斯中可以使用许多GIT变量。我正在执行作业的执行Shell步骤。

这些工作:

echo "${GIT_BRANCH}"

echo "${GIT_URL}"

echo "${GIT_COMMIT}"

这些不:

echo "${GIT_COMMITTER_EMAIL}"

echo "${GIT_COMMITTER_NAME}"

echo "${GIT_AUTHOR_EMAIL}"

echo "${GIT_AUTHOR_NAME}"

echo "${GIT_USER}"

问题1:以上的var为什么不起作用?

这有效:

git show --name-only

问题2:为什么我不能做Foo =“ git show –name-only”并在工作中的其他地方使用Foo,即-发送到HipChat?

我看到有一个插件envInject。但这是在执行执行外壳步骤的过程中写入工作区中的文件,然后从该文件读取。对于我想做的事情,这似乎有些过大。

问题3:envInject是我唯一的选择吗?


问题答案:

我不知道为什么有些变量可用,而有些变量却不可用,但看来您并不是唯一一个存在该问题的变量

使用例如git show -s --pretty=%an,获取作者名称,并通过命令替换将其存储在变量中,如@MattKneiser所述:

foo=$(git show -s --pretty=%an)

此变量在Jenkins作业的其他Shell步骤中将不可用,但是您可以将其保存到工作区中的文件中,

echo "foo=\"$foo\"" > $WORKSPACE/envvars

然后在另一个外壳中获取该文件:

. $WORKSPACE/envvars


 类似资料:
  • 我创建了一个repo,在里面创建了一个文件,在文件中放入一些内容,并提交了文件。现在,我希望看到该提交的差异,理想情况下,它应该显示添加的文件和添加到其中的行。 但是,返回

  • 在将新更新安装到Visual Studio后,我才开始出现此错误。出于某种原因,我的建筑现在都不会从詹金斯那里得到。已经做了几个小时了,似乎还不明白。 我从比特桶里取东西。 请帮助。 由工作区C:\Program Files(x86)\Jenkins\workspace\CA[WS-CLEANUP]中的计时器生成启动删除项目工作区。。。[WS-CLEANUP]已完成克隆远程Git存储库克隆存储库h

  • 我有一份詹金斯的工作,在那里我登录了一个网站。网站的用户名和密码与我为詹金斯使用的用户名和密码相同。我想得到詹金斯的用户名和密码,并把它传递给我写的java代码登录到网站。 如何获取Jenkins用户名和密码属性? 背景:假设我使用“用户名1”和“密码1”登录到Jenkins。我有一个使用相同登录凭据的网站。我有一个詹金斯的工作创建登录到这个网站。詹金斯的工作被很多人使用。我想以这样的方式编写Ja

  • 因此,根据我对Apache Kafka中事务的理解,read_committed消费者不会返回作为正在进行的事务一部分的消息。因此,我猜想,消费者可以选择将其偏移量提交给那些正在进行的事务消息(例如,读取非事务消息),或者可以选择在提交/中止遇到的事务之前不进一步推进。我只是假设(Kafka)允许跳过那些挂起的交易记录,但考虑到它的抵消可能已经很远了,那么消费者在提交时将如何读取它们呢? 更新 考

  • 问题内容: 我创建了一个詹金斯管道,它正在从scm中提取管道脚本。 我将分支说明符设置为“ ”,因此它基于对任何分支的任何更改。 如何从Jenkinsfile访问导致此生成的分支名称? 我尝试过的一切都呼应null 总是这样。 问题答案: 如果您的管道有jenkinsfile,请检查执行时是否在环境变量中看到分支名称。 您可以使用以下命令打印它们: 但是,PR 91显示仅在某些管道配置中设置了分支

  • 问题内容: 我正在使用Gitlab进行源代码管理,使用jenkins进行CI作业,使用JIRA进行问题跟踪。 一旦我以问题编号(例如“ Project-123编辑的演示文件”)提交到gitlab中,我就有一个jenkins钩子触发构建。我有JENKINS的Jira插件,并通过工作流操作使用Progress JIRA问题。我有一个两部分的问题: 我用于搜索问题的JQL是: 我的工作流程操作是Jenk