Как вы можете отслеживать или получать уведомления об изменениях в GitHub вики?
Существуют ли сервисные хуки для репозиториев GitHub wiki? Есть ли какой-то другой механизм, который GitHub предоставляет мне для отслеживания правок вики?
2 ответа
Push-подход: в документации по GitHub API вы можете найти документацию по настройке сервисных хуков, которые могут быть запущены для одного или нескольких событий. gollum
Событие особенно поднимается каждый раз, когда обновляется вики-страница.
Подход на основе JSON: вы также можете использовать HTTP-API событий для получения отформатированного в JSON вывода о том, что происходит на GitHub, а затем применить некоторую фильтрацию, чтобы изолировать события типа 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>
Подход, основанный на атомах: Последнее, но не менее важное: вы можете подписаться на ленту новостей об изменениях в вики Перейдите в раздел GitHub Wiki хранилища, выберите Pages
Под вкладкой, наведите курсор на оранжевый значок, скопируйте ссылку и вставьте в свой любимый RSS-ридер.
Обновить:
Похоже, значок RSS-канала больше не отображается для вики.
Тем не менее, вы все равно можете создать URL самостоятельно
- Синтаксис:
https://github.com/:user/:repository/wiki.atom
- Пример: https://github.com/holman/spark/wiki.atom
Я настроил задание Jenkins для извлечения нашей вики GitHub с https://github.com/IQSS/dvn.wiki.git с помощью триггера сборки @daily. На этапе сборки я выполняю команду оболочки, подобную этой, чтобы отправить нам электронное письмо:
echo "Вики DVN на GitHub обновлены. Проверьте наличие нового контента на https://github.com/IQSS/dvn/wiki/_history" | mail -s "Обнаружено обновление [dvn-wiki-уведомления]" dvn@example.com
Вот работа, если кто-то хочет посмотреть: https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/