我可以看到特定用户的所有事件,例如这里是我的:
https://api.github.com/users/arasbm/events
但我只对特定类型的事件感兴趣:
"type": "PushEvent",
如何在不处理所有事件列表(可能很慢)的情况下获取此数据。我正在尝试这样做,因为我想获得已经合并的所有PR的列表。如果你能给我一个很棒的curl命令。我无法在github api docs中找到它。
答案 0 :(得分:3)
在" How do I get notifications for commits to the framework?"中已确认,您必须过滤JSON /users/username/events
响应。
$.each(data.data, function(key, val) {
if (val.type == "PushEvent") {
$.each(val.payload.commits, function(key2, val2) {
list.append('<li id="' + val2.sha + '"><a href="https://github.com/UnionOfRAD/lithium/commit/' + val2.sha + '">' + val2.message + '</a> [' + val.actor.login + ' @ ' + val.created_at + ']</li>');
});
}
});
或者:
您可以监控提交RSS提要(如&#34; Setting up an Github Commit RSS feed&#34;:
https://github.com/user/repo/commits/master.atom
# more general url:
https://github.com/user/repo/commits/branch_name.atom?login=login&token=token
但是,这将是一个用户的一个回购,而不是所有用户回购。
答案 1 :(得分:0)
看看这个python脚本: https://github.com/jimzucker/githubutils/blob/master/githubreflog.py
我创建它来拉动事件并使它们可读,你可以将它传递给grep&#39; PushEvent&#39;或者您可以修改它以通过修改此行来丢弃其他PushEvent事件,以仅包含您感兴趣的事件。
HANDLEDEVENTS = [&#34; CreateEvent&#34;&#34; DeleteEvent&#34;&#34; PushEvent&#34;&#34; CommitCommentEvent&#34;]