GitHub wiki存储库是否有服务挂钩? GitHub是否为我提供了跟踪维基编辑的其他机制?
答案 0 :(得分:31)
推送方法:在GitHub API documentation中,您可以找到有关设置service hooks的文档,该文档可以针对一个或多个事件触发。每当维基页面更新时,gollum
事件都会被提升。
基于JSON的拉取方法:您还可以利用Events HTTP API检索GitHub上发生的JSON格式化输出,然后应用一些过滤以隔离类型的事件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>
基于Atom的拉动方法最后但并非最不重要的是,您可以订阅wiki更改原子Feed。转到存储库的GitHub Wiki部分,选择Pages
子选项卡,将鼠标悬停在橙色图标上,复制链接并粘贴到您喜欢的RSS阅读器中。
看起来不再为维基显示RSS提要图标。
但是,您仍然可以自己构建网址
https://github.com/:user/:repository/wiki.atom
答案 1 :(得分:3)
我设置了一个Jenkins工作,用https://github.com/IQSS/dvn.wiki.git从@daily的构建触发器中提取我们的GitHub wiki。在构建步骤中,我正在执行这样的shell命令给我们发电子邮件:
echo“GitHub上的DVN wiki已更新。请检查https://github.com/IQSS/dvn/wiki/_history上的新内容”| mail -s“检测到[dvn-wiki-notifications]更新”dvn@example.com
如果有人关心,可以找到以下工作:https://build.hmdc.harvard.edu:8443/job/dvn-wiki-notifications/