1

approve如果其中一位用户(静态固定列表,可以写入工作流配置文件)批准(使用关键字提交审查),是否可以配置 Github 操作工作流以合并拉取请求?我试图在文档中找到它:https ://help.github.com/en/articles/workflow-syntax-for-github-actions#on - 我想我可以使用on: [pull_request_review]触发器进行操作,但文档没有提到如何访问操作yaml文件中的事件有效负载,我需要从该有效负载中提取审阅者登录。

4

2 回答 2

2

我在https://help.github.com/en/articles/virtual-environments-for-github-actions#filesystems-on-github-hosted-machines找到了这个:

workflow/event.jsonPOST触发​​工作流的 webhook 事件的负载。GitHub 会在每次执行操作时重写此操作,以隔离操作之间的文件内容。使用GITHUB_EVENT_PATH环境变量访问此文件。

因此,下一步将弄清楚如何解析 JSON 文件并提取一些后续步骤可以使用的数据。为此,查看GitHub 的setup-dotnet操作可能会很有用。在第 62 行installer.ts,他们调用了一个名为 的函数core.exportVariable,正如您在此处看到的那样,它会导致##[set-env name=NAME;]value在操作的输出中打印。我亲自验证过,这会导致调用的环境变量NAME自动出现在同一工作流作业的后续步骤中。

现在,我还不知道你是否可以简单地在GitHub 工作流程echo "##[set-env name=NAME;]$VALUE"的一个步骤中完成并完成这项工作;run您可能必须在 Typescript 中编写自定义操作才能访问core.exportVariable. 但是,一旦您解析了 JSON,这将是将该信息传递给您工作中后续步骤的一种方式。

于 2019-09-07T04:33:48.070 回答
1

除了rmunnanswer之外,您可能还想保护您的分支:

GitHub Actions:阻止 GitHub Actions 批准拉取请求(2022 年 1 月 14 日)

我们引入了一个新的策略设置,用于控制 GitHub Actions 是否可以批准拉取请求。
这可以防止用户使用操作来满足“必需的批准”分支保护要求并合并未经其他用户审查的更改。

为防止破坏现有工作流,Allow GitHub Actions reviews to count towards required approval默认启用。
但是,组织管理员可以在组织的操作设置下禁用它。

图片——https://i2.wp.com/user-images.githubusercontent.com/185122/149253738-114b65d9-9a65-4bfd-b379-bce03ca363e1.png?ssl=1

这样一来,您就可以确定仅由用户进行批准,而不是通过其他操作。

于 2022-01-14T17:29:24.630 回答