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

如何通过GitHub API检测Pull Request中是否存在指定字符串

有两种更简便的实现方式,无需逐个拉取PR内的提交diff汇总检索:

  • 调用PR总diff接口直接检索
    直接调用GitHub REST API的GET /repos/{owner}/{repo}/pulls/{pull_number}接口,在请求头中将Accept字段设置为application/vnd.github.diff,接口会直接返回该PR相对于目标分支的全量改动汇总diff,你可以直接在返回的文本内容中检索DONT_MERGE_ME字符串即可,全程只需要发起1次API请求,效率远高于拉取所有提交diff再汇总的方案。
    如果PR改动量过大导致diff返回被截断,你可以先调用GET /repos/{owner}/{repo}/pulls/{pull_number}/files接口获取所有改动文件清单,再逐个拉取该PR分支下对应文件的内容检索即可,整体请求量也远低于遍历提交的方案。
  • 基于GitHub Actions实现轻量化部署
    如果你不需要自己搭建独立机器人服务,可以直接用GitHub Actions实现全流程需求:配置工作流触发条件为PR的新建、更新事件,工作流中直接checkout该PR的全量代码,用grep等工具全局检索DONT_MERGE_ME字符串,一旦命中直接将check标记为失败,同时调用API给PR添加提示注释即可,完全不需要用到受限的GitHub搜索类API,也没有文件大小、分支范围的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:18:04