¿Cómo puedes rastrear o ser notificado de cambios a GitHub Wikis?
-
29-10-2019 - |
Pregunta
¿Hay ganchos de servicio para repositorios de GitHub Wiki?¿Hay algún otro mecanismo que GitHub me permite rastrear las ediciones de Wiki?
Solución
Enfoque push: en la documentación de la API de GitHub , puede encontrar documentación sobre la configuración de enlaces de servicio que se pueden activar para uno o más eventos. El evento gollum
se genera especialmente cada vez que se actualiza una página wiki.
Enfoque de extracción basado en JSON: también puede aprovechar la API HTTP de eventos para recuperar una salida con formato JSON de lo que sucede en GitHub, luego aplica algunos filtros para aislar los eventos de tipo GollumEvent
.
A continuación, una muestra rápida basada en 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>
Enfoque de extracción basado en Atom: por último, pero no menos importante, puedes suscribirte al feed de Atom de cambios de wiki. Vaya a la sección Wiki de GitHub del repositorio, seleccione la subpestaña Pages
, coloque el cursor sobre el icono naranja, copie el enlace y péguelo en su lector de RSS favorito.
Actualización:
Parece que el icono de la fuente RSS ya no se muestra en una wiki.
Sin embargo, aún puede crear la URL usted mismo
- Sintaxis:
https://github.com/:user/:repository/wiki.atom
- Ejemplo: https:// github .com / holman / spark / wiki.atom
Otros consejos
Configuré un trabajo de Jenkins para extraer nuestra wiki de GitHub de https://github.com/IQSS / dvn.wiki.git con un activador de compilación de @daily.En un paso de compilación, estoy ejecutando un comando de shell como este para enviarnos un correo electrónico:
echo "La wiki de DVN en GitHub se ha actualizado. Compruebe si hay contenido nuevo en https://github.com/IQSS/dvn/wiki/_history "|mail -s "[dvn-wiki-Notifications] actualización detectada" dvn@example.com
Aquí está el trabajo si alguien quiere ver: https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/