2

我已经在这里待了几个小时,但我还没有在任何地方找到任何有用的信息。我正在尝试使用 jQuery 从单个用户获取任何 GitHub 存储库的最新提交,以显示在我的主页上。目前,这就是我所拥有的:

$.getJSON("https://api.github.com/users/theinfection/repos", function(data) {
        $(".lastcommit").html('<a href="https://github.com/TheInfection/' + data[0].name + '/commit/' + data[0].sha + '">text</a>');
});

输出此链接:https ://github.com/TheInfection/Blue-Monday-HD/commit/undefined 。这种工作,但它只显示 JSON 文件中列出的第一个 repo 的最新提交,并且它没有获得所述提交的 SHA。

现在,我想知道的是:

  • 如何获得提交的 SHA?
  • 如何按时间顺序对提交进行排序,以便最新的在顶部?
  • 如何获取提交评论文本?

这一直困扰着我一段时间,所以非常感谢任何帮助!

4

1 回答 1

2

这会有帮助吗?

$.getJSON("https://api.github.com/users/theinfection/repos", function(data) {
    $.getJSON(data[0].commits_url.slice(0, -6), function(data) {
        $('.lastcommit').text(data[0].sha);
    });
});

在初始请求中,您获得了 repos,然后获取您想要的 repo 并获得它的提交。当然,如果您已经知道您的 repo 名称,您可以致电:

var repo = 'TheInfection/Blue-Monday-HD';
$.getJSON("https://api.github.com/repos/" + repo + "/commits", function(data) {
    $('.lastcommit').text(data[0].sha);
});

该列表已经按时间倒序排序,并且消息和作者也在那里:data[0].commit.messagedata[0].commit.committer.name

在jsfiddle上玩它

于 2013-05-18T15:10:28.843 回答