如果评论被用户批准,则通过Github合并PR

时间:2019-09-06 12:40:03

标签: github pull-request github-actions

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

1 个答案:

答案 0 :(得分:1)

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

  

workflow/event.json:触发工作流的webhook事件的POST有效负载。每次执行动作以隔离动作之间的文件内容时,GitHub都会重写此代码。使用GITHUB_EVENT_PATH环境变量来访问该文件。

因此,下一步将是弄清楚如何解析JSON文件并提取以后步骤可以使用的一些数据。为此,查看GitHub's setup-dotnet action可能会有用。在line 62 of installer.ts中,它们调用一个名为core.exportVariable的函数,如您所见,here使##[set-env name=NAME;]value打印在动作的输出中。我已亲自验证,这会导致名为NAME的环境变量自动出现在同一工作流程作业的后续步骤中。

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

相关问题