如何通过REST API恢复活跃状态下未完成PR的原始描述?
拉取请求(Pull Request)描述恢复至原始版本的REST API实现方法
可以通过REST API将处于"active"状态的未完成PR描述恢复至原始版本,以下是具体实现逻辑与步骤:
核心逻辑
主流代码托管平台(如GitHub)的REST API支持修改active状态PR的描述字段,只要能获取到原始描述内容,即可通过更新接口覆盖当前描述。
操作步骤
获取PR的原始描述内容
- 若提前保存了原始描述,可直接使用;若未保存,可通过PR的事件记录接口回溯:
调用GET /repos/{owner}/{repo}/issues/{pull_number}/events接口,在返回的事件列表中筛选edited类型的事件,该事件的changes.body.from字段即为修改前的描述内容。如果PR从未被修改过,直接调用GET /repos/{owner}/{repo}/pulls/{pull_number}获取的body字段就是原始内容。
- 若提前保存了原始描述,可直接使用;若未保存,可通过PR的事件记录接口回溯:
调用更新接口恢复描述
- 使用
PATCH /repos/{owner}/{repo}/pulls/{pull_number}接口,将原始描述内容传入请求体的body字段:curl -X PATCH \ https://api.github.com/repos/OWNER/REPO/pulls/PULL_NUMBER \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -d '{"body": "这里填入原始的PR描述内容"}'
- 使用
注意事项
- 操作账号需具备仓库的写入权限,或是该PR的创建者/仓库维护者;
- 若PR处于锁定状态(active状态下一般不会锁定),则无法通过API修改描述;
- 其他代码托管平台(如GitLab)也有类似API逻辑,具体接口需参考对应平台的官方文档。
内容的提问来源于stack exchange,提问作者Rebel
相关产品推荐
相关产品推荐

