How can you track or be notified of changes to GitHub wikis?

6.8k Views Asked by At

Are there service hooks for GitHub wiki repositories? Is there some other mechanism that GitHub provides for me to track wiki edits?

2

There are 2 best solutions below

3
On BEST ANSWER

Push approach: Within the GitHub API documentation, you can find documentation about setting up service hooks which can be triggered for one or more events. The gollum event is especially raised any time a wiki page is updated.

JSON-based pull approach: You can also leverage the Events HTTP API to retrieve a JSON formated output of what happens on GitHub, then apply some filtering in order to isolate the events of type GollumEvent.

Below a quick jQuery-based sample

<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 based pull approach: Last but not least, you can subscribe to the wiki changes atom feed. Go to the GitHub Wiki section of the repository, select the Pages sub tab, hover onto the orange icon, copy the link and paste into your favorite RSS reader.

Subscribe to changes

Update:

It looks like the RSS feed icon is no longer displayed for a wiki.

However, you can still build the URL by yourself

0
On

I set up a Jenkins job to pull our GitHub wiki from https://github.com/IQSS/dvn.wiki.git with a build trigger of @daily. In a build step, I'm executing a shell command like this to email us:

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" [email protected]

Here's the job if anyone cares to see: https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/