首页 > 解决方案 > 向 GitHub API 发送 GET 请求,请求获取 Pull Request 中的提交消息列表

问题描述

我希望我的 Python Flask 服务器向 GitHub REST API V3 发送一个 GET 请求,请求拉取请求中的所有提交消息,并可能将其作为单个有效负载接收。

关于如何解决这个问题的任何建议?

编辑(附加说明):我尝试过的唯一成功的方法是在拉取请求中显示提交消息的实际数量。实际显示所有这些的列表很复杂。这个变量在这里 -->

x = jsonRequest["pull_request"]["commits"], 

将显示来自的提交列表

/repos/:owner/:repo/pulls/:number/commits 在 GitHub 开发者文档中。

如果我不仅可以将提交列表显示为计数,还可以显示其中包含的所有消息,那就太好了。

在此处找到的文档:developer.github.com/v3/pulls/#response-4

标签: pythonapigithubflaskserver

解决方案


据我了解, x 变量是您的提交列表,对吗?如果是这样,那么它就是一本字典。尝试将其视为字典,找到 message 属性(在您的文档中,即...)-->

"message": "Fix all the bugs"

..并做一个 for 循环,假设您的拉取请求作为具有不同类型消息的多个提交。像这样的东西

for msg in x:
print(msg['commit']['message'])

我不知道将其转换为单个有效负载,但您可以尝试将所有消息导出到 JSON 对象中。所以将打印消息替换为

import json
for msg in x:
json_object = (msg['commit']['message'])
file = json.loads(json_object)
print(json.dumps(file, indent=4, sort_keys=True))

快速提醒一下:我的代码可能无法正常工作,因为我还没有对其进行测试。把它作为参考。


推荐阅读