7

我可以看到特定用户的所有事件,例如这里是我的:

https://api.github.com/users/arasbm/events

但我只对特定类型的事件感兴趣:

"type": "PushEvent",

如何在不必处理所有事件列表(可能很慢)的情况下获取这些数据。我正在尝试这样做,因为我想获得所有已合并 PR 的列表。如果你能给我 curl 命令,那就太棒了。我在 github api 文档中的任何地方都找不到这个。

4

2 回答 2

3

正如“如何获得提交到框架的通知? ”中所确认的那样,您必须过滤 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 提要(如“设置 Github 提交 RSS 提要”中所示:

https://github.com/user/repo/commits/master.atom
# more general url:
https://github.com/user/repo/commits/branch_name.atom?login=login&token=token

但这将是针对一个用户的一个存储库,而不是针对所有用户存储库。

于 2013-09-11T06:57:41.130 回答
0

看看这个 python 脚本: https ://github.com/jimzucker/githubutils/blob/master/githubreflog.py

我创建它是为了拉取事件并使它们可读,您可以将其通过管道传递给 grep 'PushEvent' 或者您可以修改它以通过修改此行来丢弃除 PushEvent 之外的事件,以仅包含您感兴趣的事件。

HANDLEDEVENTS=["CreateEvent","DeleteEvent","PushEvent","CommitCommentEvent"]

于 2016-03-15T03:25:52.877 回答