Come puoi tenere traccia o essere informato delle modifiche ai wiki GitHub?
-
29-10-2019 - |
Domanda
Ci sono ganci di servizio per? GitHub repository wiki?Esiste qualche altro meccanismo fornito da GitHub per tenere traccia delle modifiche wiki?
Soluzione
Approccio push: All'interno del Documentazione dell'API GitHub, puoi trovare la documentazione sulla configurazione ganci di servizio che può essere attivato per uno o più eventi.IL gollum
L'evento viene generato in particolare ogni volta che una pagina wiki viene aggiornata.
Approccio pull basato su JSON: Puoi anche sfruttare il API HTTP eventi per recuperare un output in formato JSON di ciò che accade su GitHub, quindi applicare alcuni filtri per isolare gli eventi di tipo GollumEvent
.
Di seguito un rapido esempio basato su 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>
Approccio pull basato sull'atomo: Ultimo ma non meno importante, puoi iscriverti al feed Atom delle modifiche wiki.Vai alla sezione GitHub Wiki del repository, seleziona il file Pages
sottoscheda, passa con il mouse sull'icona arancione, copia il collegamento e incollalo nel tuo lettore RSS preferito.
Aggiornamento:
Sembra che l'icona del feed RSS non sia più visualizzata per un wiki.
Tuttavia, puoi comunque creare l'URL da solo
- Sintassi:
https://github.com/:user/:repository/wiki.atom
- Esempio: https://github.com/holman/spark/wiki.atom
Altri suggerimenti
Ho impostato un lavoro Jenkins per estrarre il nostro wiki GitHub da https://github.com/IQSS / dvn.wiki.git con un trigger di build di @daily.In una fase di compilazione, sto eseguendo un comando di shell come questo per inviarci un'e-mail:
echo "Il wiki DVN su GitHub è stato aggiornato. Verifica la presenza di nuovi contenuti su https://github.com/IQSS/dvn/wiki/_history "|mail -s "[dvn-wiki-notification] aggiornamento rilevato" dvn@example.com
Ecco il lavoro se qualcuno vuole vedere: https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/