python - 向 GitHub API 发送 GET 请求,请求获取 Pull Request 中的提交消息列表
问题描述
我希望我的 Python Flask 服务器向 GitHub REST API V3 发送一个 GET 请求,请求拉取请求中的所有提交消息,并可能将其作为单个有效负载接收。
关于如何解决这个问题的任何建议?
编辑(附加说明):我尝试过的唯一成功的方法是在拉取请求中显示提交消息的实际数量。实际显示所有这些的列表很复杂。这个变量在这里 -->
x = jsonRequest["pull_request"]["commits"],
将显示来自的提交列表
/repos/:owner/:repo/pulls/:number/commits 在 GitHub 开发者文档中。
如果我不仅可以将提交列表显示为计数,还可以显示其中包含的所有消息,那就太好了。
解决方案
据我了解, 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))
快速提醒一下:我的代码可能无法正常工作,因为我还没有对其进行测试。把它作为参考。
推荐阅读
- hive - 如何在 apache hive 中插入日期、布尔值?
- python - 我怎样才能以不同的方式编写它,以便不总是调用夹具?
- svn - Trac 可以从其他服务器连接到 SVN 存储库吗?
- javascript - 使用 RegExp 提取特定字符串
- angular - appendComponentToBody 在角度 2 中不起作用
- kubernetes - 如何在 kubernetes 中为服务端点 url 使用服务名称而不是外部 IP/域名
- angularjs - md-datepicker 不适用于引导模式,而适用于 angularjs 中的简单页面
- codeigniter - 如何从第一个结果数组中检查名称是否已存在
- python - 如何使用 GridFSBucket 逐块处理正在下载的文件
- node.js - 节点需要 - 我不明白这段代码