如何追踪或接收GitHub Wiki的更改通知?

42

是否有适用于GitHub维基存储库的服务钩子?GitHub是否提供其他机制来跟踪维基编辑?

2个回答

34

推送方式:GitHub API文档中,您可以找到有关设置服务钩子以触发一个或多个事件的文档。每当维基页面更新时,gollum事件尤其会被触发。

基于JSON的拉取方式:您还可以利用Events HTTP API检索GitHub上发生的内容的JSON格式输出,然后进行一些过滤以隔离类型为GollumEvent的事件。

下面是一个快速的基于jQuery的示例

<html>
    <head>
        <title>Gollum events</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $.getJSON('https://api.github.com/repos/holman/spark/events?callback=?', function(data) {

                    var list = $('#gollum-events');

                    $.each(data.data, function(key, val) {
                        if (val.type == "GollumEvent") {
                            $.each(val.payload.pages, function(key2, val2) {
                                list.append('<li id="' + key + '.' + key2 + '"><a href="' + val2.html_url + '">' + val2.page_name + '</a> [' + val.actor.login + ' @ ' + val.created_at + ']</li>');
                            });
                        }
                    });
                });
            });
        </script>
    </head>
    <body>
        <ul id="gollum-events"/>
    </body>
</html>

基于Atom的拉取方式: 最后一种方法,您可以订阅wiki更改的Atom Feed。前往存储库的GitHub Wiki部分,选择页面子选项卡,悬停在橙色图标上,复制链接并粘贴到您喜欢的RSS阅读器中。

Subscribe to changes

更新:

看起来对于维基已不再显示RSS订阅图标。

但是,您仍然可以自己构建URL。


推送方法就是我想要的,谢谢。下一个请求是有一些漂亮的方式来呈现编辑的差异 - 类似于您可以使用普通的 GitHub UI 看到的内容。 - Eric Bloch
仍然有可能获取存储库最近维基编辑的Atom源吗?我在https://github.com/holman/spark/wiki/_pages上没有看到RSS图标。 - Philip Durbin
3
@PhilipDurbin 我已经更新了答案,加入了可以自行猜测rss feed链接的语法。 - nulltoken

3
我设置了一个 Jenkins 任务来拉取我们在 GitHub 上的 Wiki,链接为https://github.com/IQSS/dvn.wiki.git,构建触发器设置为每天执行。在构建步骤中,我执行了以下 Shell 命令来发送电子邮件:

echo "The DVN wiki on GitHub has been updated. Please check for new content at https://github.com/IQSS/dvn/wiki/_history" | mail -s "[dvn-wiki-notifications] update detected" dvn@example.com

如果有人感兴趣可以查看此任务:https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接