Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Github生成变更日志问题?_Github_Changelog - Fatal编程技术网

从Github生成变更日志问题?

从Github生成变更日志问题?,github,changelog,Github,Changelog,有没有办法从Github问题自动生成更改日志 理想情况下,我希望能够指向一个已关闭的里程碑,并生成一个包含已关闭问题及其标题的纯文本列表,或者更好的是,生成一个包含问题链接标记的列表,以及问题本身的标题。不直接通过GitHub:这将是一种可以设置的挂钩,这将基于您的项目可能遵循的命名约定或注释约定。 即使使用问题标题也不一定能生成有意义的更改日志,除非您根据需要查看和编辑项目的每个问题标题 换句话说,它非常依赖于您如何管理您的项目,并且不容易推广到所有GitHub回购协议。 我在一个非常类似的问

有没有办法从Github问题自动生成更改日志


理想情况下,我希望能够指向一个已关闭的里程碑,并生成一个包含已关闭问题及其标题的纯文本列表,或者更好的是,生成一个包含问题链接标记的列表,以及问题本身的标题。

不直接通过GitHub:这将是一种可以设置的挂钩,这将基于您的项目可能遵循的命名约定或注释约定。
即使使用问题标题也不一定能生成有意义的更改日志,除非您根据需要查看和编辑项目的每个问题标题

换句话说,它非常依赖于您如何管理您的项目,并且不容易推广到所有GitHub回购协议。

我在一个非常类似的问题中也提到了这一点。

这不是专门针对Github的,但是通过Git,您可以通过漂亮的打印来运行日志,以生成一个changelog样式的html页面

git log v2.1.0…v2.1.1--pretty=format:“
  • %s
  • ”--反向| grep“#changelog”
    您可以使用获取与给定里程碑相关的问题列表。 例如:

    curl https://api.github.com/repos/<user>/<project>/issues\?milestone\=1\&state\=closed
    

    看看下面的工具是否适合您


    披露:我是该工具的作者。

    我最近帮助构建了一个jQuery插件,该插件使用GitHub问题直接向用户传达应用程序更新。回购协议可以在这里找到

    用法非常简单:

    $(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');
      });
    });
    

    我们创建了一个开源项目,从给定日期时间以来关闭的github问题列表中生成changelog。可在此处找到:

    您可以尝试使用。(我是这个项目的作者)

    它从标记和合并的请求生成changelog。 此脚本还支持GitHub问题

    此更改日志由此脚本生成

    例如:

    变更日志 (2015-01-15)

    已实施的增强功能:

    • 使用里程碑指定修复错误的版本
    修复错误:

    • 尝试为不带标记的回购生成日志时出错
    合并的拉取请求:

    • PrettyPrint类包含在使用小写字母“pp”()

    • 通过命令行选项()支持企业github


    有趣的选择,比我的答案更实用+1@james-mcmahon这不是一个很好的解决方案,尤其是对于GitHub,它有一个自己的问题追踪器,可以让您生成更好的变更日志。根据这篇文章,把提交放在changelog上是一个很糟糕的例子:所以,检查下面我的答案,这正好解决了你问它的主题。有趣的方法,比我的答案更详细+最后!非常感谢@idefine,这正是我一段时间以来想要的——通过解析适当格式的版本历史记录生成的发行说明。是否有匹配的Git预提交脚本来确保格式得到支持?创建起来很容易,但我喜欢重用控制盘:)。此外,我想知道“问题”是否也会拉出“拉请求”,在Github中,这些请求看起来也像票证一样。@AnneTheAgile是的,它会拉出拉请求。我还没有创建预提交脚本,但是您可以看到我在这里使用的release.sh:您可以尝试
    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)
    
    $(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');
      });
    });