在Github Actions工作流程中获取最后提交作者的方法

时间:2020-04-14 17:09:16

标签: github github-actions

我正在将Jenkins Pipeline转换为Github Actions工作流,并且需要一种将提交作者存储为环境变量的方法,以便以后在node.js代码中使用。

我已经阅读了文档,这似乎是使它正常工作的唯一方法:

name: Feature Branch PR

on:
  pull_request:
    types: [opened, edited, synchronize]
  push:
    branches: 
    - '**'

然后在“环境”部分:

env:
   AUTHOR: ${{ github.event.pusher.name }}

问题是这仅适用于Push触发器。因此,如果我从yml工作流程的顶部删除on:push部分(因此它仅在PR上触发),则作者信息将为空。

我找不到一种提交方式。有人知道一种方法吗?我们不希望此工作流在推送时触发。

我也尝试过

        AUTHOR: $(jq '.commits.committer.name' $GITHUB_EVENT_PATH)

我认为这在语法上是不正确的。

1 个答案:

答案 0 :(得分:2)

对于将来遇到任何困难的人,我都设法解决了。

在节点代码(不是yml)中,您可以获得具有所有可用信息的Actions event.json文件。获取先前提交的作者:

 const ev = JSON.parse(fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8'));
  return ev.pull_request.user.login;