如何通过GitHub API获取Pull Request中项目的所在目录?
问题解答
GitHub API不会直接返回Pull Request对应项目的“所在目录”——因为PR本质是分支间的代码变更集合,API没有专门字段存储关联项目的目录信息。不过可以通过以下两种方式间接获取:
从PR的文件变更路径推导
调用GET /repos/{owner}/{repo}/pulls/{pull_number}/files接口,拿到PR中所有变更文件的完整路径。如果这些文件都集中在同一个根目录下(比如所有路径都以project-a/开头),这个共同前缀就是该PR对应的项目目录。获取分支的完整目录树对比
如果每个PR的分支只对应一个独立项目,可调用GET /repos/{owner}/{repo}/git/trees/{branch_name}?recursive=1获取该分支的全量目录结构;再对比主分支的目录树,找出分支独有的根目录,即为项目所在目录。
另外,如果你的仓库有自定义规范(比如PR描述里标注了项目目录、或用特定标签关联),也可以从PR的body(描述内容)或labels字段提取约定好的目录信息。
内容的提问来源于stack exchange,提问作者petgovj
相关产品推荐
相关产品推荐

