You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PR合并后,如何在Push触发的Action中获取标签及传递信息?

问题解答

合并后Push触发的Action能直接拿到PR的标签吗?

不行。Push事件的上下文里只包含代码提交哈希、目标分支、提交信息这类代码相关数据,不会附带原PR的标签、描述这类PR专属元数据,所以没法直接获取。

那怎么把PR的信息传递给合并后的Push Action?

有几种靠谱的实现方式:

1. 提前把PR信息写入仓库文件

在PR的pull_request事件触发的Action流程里,把PR的标签、编号、标题这些信息写入仓库里的一个专门文件(比如.pr-info.json),再把这个文件加到PR的提交中。等PR合并后,Push触发的Action就能直接读取这个文件,拿到原PR的所有预设信息。

注意:可以在Push Action处理完后删除该文件,避免长期留在代码库中。

2. 通过提交信息关联PR查询

GitHub默认在合并PR时,会把PR编号加到合并提交的信息里(比如Merge pull request #123 from xxx/xxx)。你可以在Push Action里:

  • 用git log --oneline -1拿到最新的合并提交信息
  • 用正则匹配#\d+提取PR编号
  • 用GitHub CLI的gh pr view <PR编号> --json labels命令(需在Action里配置GH_TOKEN权限)查询该PR的标签,就能拿到some标签了。

3. 临时存储PR信息到GitHub环境(不推荐)

在PR处理的Action里,调用GitHub API把PR标签存到仓库的临时环境变量或秘密里,合并后的Push Action再读取。但这种方式有有效期限制,配置也麻烦,一般不如前两种实用。

总结

Push事件本身无法携带PR的标签信息,得靠提前写入元文件或者通过PR编号反向API查询这两种方式来获取原PR的相关数据。

内容的提问来源于stack exchange,提问作者Opal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:37:58