approve
如果其中一位用户(静态固定列表,可以写入工作流配置文件)批准(使用关键字提交审查),是否可以配置 Github 操作工作流以合并拉取请求?我试图在文档中找到它:https ://help.github.com/en/articles/workflow-syntax-for-github-actions#on
- 我想我可以使用on: [pull_request_review]
触发器进行操作,但文档没有提到如何访问操作yaml
文件中的事件有效负载,我需要从该有效负载中提取审阅者登录。
2 回答
workflow/event.json
:POST
触发工作流的 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,这将是将该信息传递给您工作中后续步骤的一种方式。
GitHub Actions:阻止 GitHub Actions 批准拉取请求(2022 年 1 月 14 日)
我们引入了一个新的策略设置,用于控制 GitHub Actions 是否可以批准拉取请求。
这可以防止用户使用操作来满足“必需的批准”分支保护要求并合并未经其他用户审查的更改。为防止破坏现有工作流,
Allow GitHub Actions reviews to count towards required approval
默认启用。
但是,组织管理员可以在组织的操作设置下禁用它。
这样一来,您就可以确定仅由用户进行批准,而不是通过其他操作。