【问题标题】:Ways to get last commit author in Github Actions workflow在 Github Actions 工作流程中获取最后提交作者的方法
【发布时间】:2022-02-09 20:54:35
【问题描述】:

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

我已经阅读了文档,这似乎是我可以让它工作的唯一方法:

name: Feature Branch PR

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

然后在 Env 部分:

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

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

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

我也试过了

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

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

【问题讨论】:

    标签: github github-actions


    【解决方案1】:

    对于将来遇到此问题的任何人,我都设法解决了。

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

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

    【讨论】:

    • 你试过${{ github.event.pull_request.user.login }}吗?
    【解决方案2】:

    正如YakovL 提到的,

    env:
      ${{ github.event.pull_request.user.login }}
    

    在 Github 操作中运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-20
      • 2021-01-29
      • 2021-11-01
      • 2020-03-23
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多