Como você pode rastrear ou ser notificado sobre mudanças nos wikis do GitHub?
-
29-10-2019 - |
Pergunta
Existem ganchos de serviço para repositórios de wiki GitHub ?Existe algum outro mecanismo que o GitHub fornece para que eu controle as edições do wiki?
Solução
Abordagem push: na documentação da API do GitHub , você pode encontrar documentação sobre como configurar ganchos de serviço que podem ser acionados para um ou mais eventos. O evento gollum
é especialmente gerado sempre que uma página wiki é atualizada.
Abordagem pull baseada em JSON: você também pode aproveitar a API de eventos HTTP para recuperar uma saída formatada em JSON do que acontece no GitHub, em seguida, aplique alguns filtros para isolar os eventos do tipo GollumEvent
.
Abaixo um exemplo rápido baseado em 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>
Abordagem de pull baseada em Atom: por último, mas não menos importante, você pode se inscrever no feed atom de alterações do wiki. Vá para a seção GitHub Wiki do repositório, selecione a subguia Pages
, passe o mouse sobre o ícone laranja, copie o link e cole em seu leitor RSS favorito.
Atualização:
Parece que o ícone do feed RSS não é mais exibido para um wiki.
No entanto, você ainda pode construir o URL sozinho
- Sintaxe:
https://github.com/:user/:repository/wiki.atom
- Exemplo: https:// github .com / holman / spark / wiki.atom
Outras dicas
Eu configurei um trabalho do Jenkins para puxar nosso wiki GitHub de https://github.com/IQSS / dvn.wiki.git com um gatilho de compilação de @daily.Em uma etapa de construção, estou executando um comando shell como este para nos enviar um e-mail:
echo "O wiki DVN no GitHub foi atualizado. Verifique se há novos conteúdos em https://github.com/IQSS/dvn/wiki/_history "|mail -s "[dvn-wiki-notifications] atualização detectada" dvn@example.com
Aqui está o trabalho, se alguém quiser ver: https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/