GitHub wiki 存储库是否有服务挂钩?GitHub 是否为我提供了一些其他机制来跟踪 wiki 编辑?
2 回答
推送方法:在GitHub API 文档中,您可以找到有关设置可以为一个或多个事件触发的服务挂钩的文档。gollum
每当更新 wiki 页面时,都会特别引发该事件。
基于 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 更改 atom 提要。转到存储库的 GitHub Wiki 部分,选择Pages
子选项卡,将鼠标悬停在橙色图标上,复制链接并粘贴到您喜欢的 RSS 阅读器中。
更新:
似乎不再为 wiki 显示 RSS 提要图标。
但是,您仍然可以自己构建 URL
- 句法:
https://github.com/:user/:repository/wiki.atom
- 示例: https ://github.com/holman/spark/wiki.atom
我设置了一个 Jenkins 作业,使用 @daily 的构建触发器从https://github.com/IQSS/dvn.wiki.git拉取我们的 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/