有没有办法从Github问题自动生成更改日志?
理想情况下,我希望能够指出一个封闭的里程碑,并生成带有标题的已关闭问题的纯文本列表,或者更好的是带有标记的列表,以获取问题的链接和问题本身的标题。
答案 0 :(得分:14)
您可以尝试使用Github-Changelog-Generator。 (我是这个项目的作者)
它从标签和合并拉取请求生成更改日志。 该脚本还支持GitHub问题。
此更改日志由此脚本生成。的 CHANGELOG.md 强>
示例:
更新日志
1.2.5(2015-01-15)
已实施增强功能:
- 使用里程碑指定修复了哪个版本的错误#22
修正了错误:
- 尝试为没有标记#32
的repo生成日志时出错合并拉取请求:
通过命令行选项支持enterprise github #42(glenlovett)
答案 1 :(得分:11)
这不适用于Github,但通过Git,您可以通过漂亮的打印运行日志来生成更改日志样式的html页面。
来自https://coderwall.com/p/5cv5lg
git log v2.1.0...v2.1.1 --pretty=format:'<li> <a href="http://github.com/jerel/<project>/commit/%H">view commit •</a> %s</li> ' --reverse | grep "#changelog"
答案 2 :(得分:4)
您可以使用GitHub API获取与给定里程碑相关的问题列表。 例如:
curl https://api.github.com/repos/<user>/<project>/issues\?milestone\=1\&state\=closed
使用用户名和项目替换<user>
和<project>
,这将返回一个json列表,列出里程碑的所有已关闭问题,ID为1
。例如,您可以使用脚本来提取您感兴趣的信息。这是一个python示例,它将问题列表打印为重组文本:
import json
with open("issues.json") as of:
data = json.load(of)
for issue in data:
t = issue['title']
n = issue['number']
url = issue['html_url']
print "* %s [`Issue %s <%s>`_]" % (t, n, url)
答案 3 :(得分:3)
查看以下工具是否适合github-changes。
披露:我是该工具的作者。
答案 4 :(得分:2)
我们创建了一个开源项目,用于从给定日期时间开始,从已关闭的github问题列表中生成更改日志。它可以在这里找到:https://github.com/piwik/github-changelog-generator
答案 5 :(得分:1)
不直接通过GitHub:这将是一种可以放置的钩子,它将基于您的项目可能遵循的命名约定或注释约定。
即使使用问题标题也不总是生成有意义的更改日志的可靠方法,除非您根据需要查看和编辑项目的每个问题标题。
换句话说,它非常依赖于您管理项目的方式,而不是轻易地归结为所有 GitHub回购。 我在一个非常相似的问题“Publish a project release (binary/source packages) on Github?”中说了很多。
答案 6 :(得分:0)
我最近帮助构建了一个jQuery插件,它使用GitHub问题直接向用户传达应用更新。可以在https://github.com/uberVU/github-changelog
找到回购用法非常简单:
$(function() {
var $demoChangelog = $('.demo-changelog');
//call the plugin on a dom none
$demoChangelog.changelog({
//give it a repo to monitor
githubRepo: 'uberVU/github-changelog-playground',
});
//manually check for new closed issues
$('.demo-button').on('click', function(e) {
e.stopPropagation();
$demoChangelog.changelog('checkForUpdates');
});
});