Генерация журнала изменений из проблем с Github?

Есть ли способ автоматически генерировать журнал изменений из проблем Github?

В идеале я хочу иметь возможность указывать на закрытую веху и генерировать либо простой текстовый список закрытых проблем с их названиями, либо, что еще лучше, список с разметкой для ссылок на проблемы и названия самих проблем.


person James McMahon    schedule 19.02.2013    source источник
comment
Вы можете попробовать github.com/onmyway133/github-changelogs-maker.   -  person onmyway133    schedule 27.10.2017


Ответы (7)


Вы можете попробовать использовать Github-Changelog-Generator. (я автор этого проекта)

Он генерирует журнал изменений из тегов и объединенных запросов на извлечение. Этот скрипт также поддерживает GitHub Issues.

Этот журнал изменений был сгенерирован этим скриптом. CHANGELOG.md

Пример:

Список изменений

1.2.5 (15 января 2015 г.)

Полный список изменений

Реализованные улучшения:

  • Используйте веху, чтобы указать, в какой версии ошибка была исправлена ​​#22.

Исправлены ошибки:

  • Ошибка при попытке создать журнал для репо без тегов #32

Объединенные запросы на включение:

  • Класс PrettyPrint включен с использованием нижнего регистра 'pp' #43 (швинг)

  • поддержка корпоративного github с помощью параметров командной строки #42 (гленловет)

person skywinder    schedule 07.11.2014

Это не специально для 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 &bull;</a> %s</li> ' --reverse | grep "#changelog"
person James McMahon    schedule 27.02.2013
comment
Интересная альтернатива, более практичная, чем мой ответ. +1 - person VonC; 28.02.2013
comment
@james-mcmahon это не очень хорошее решение, особенно для GitHub, у которого есть собственный трекер проблем, который дает вам возможность создавать гораздо лучшие журналы изменений. И это плохой пример — помещать коммиты в журнал изменений вообще, согласно этой статье: keepachangelog.com Итак, проверьте мой ответ ниже, что решить именно то, что вы задаете в теме. - person skywinder; 25.02.2015

Вы можете использовать API GitHub, чтобы получить список проблем, связанных с определенной вехой. Например:

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

замените <user> и <project> на имя пользователя и проект, и это вернет список json всех закрытых проблем вехи с идентификатором 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)
person thasso    schedule 17.01.2014
comment
Интересный подход, более подробный, чем мой ответ. +1 - person VonC; 17.01.2014

Посмотрите, подойдет ли вам следующий инструмент github-changes.

Раскрытие информации: я автор инструмента.

person Lalit Kapoor    schedule 01.03.2014
comment
Окончательно! Большое спасибо @idefine, это именно то, чего я давно хотел - примечания к выпуску, созданные путем анализа правильно отформатированной истории версий. Существует ли соответствующий сценарий Git-pre-commit для обеспечения соблюдения формата? Это было бы легко создать, но мне нравится повторно использовать колеса :). - person AnneTheAgile; 01.06.2014
comment
Кроме того, мне интересно, вытаскивают ли «проблемы» и «запросы на вытягивание», которые в Github также выглядят как билеты. - person AnneTheAgile; 01.06.2014
comment
@AnneTheAgile Да, он будет вытягивать запросы на вытягивание. Я не делал pre-commit-скрипт, но вы можете увидеть файл release.sh, который я использую здесь: github.com/lalitkapoor/github-changes/blob/master/release.sh - person Lalit Kapoor; 24.03.2015

Мы создали проект с открытым исходным кодом для создания журнала изменений из списка закрытых проблем github с заданной даты и времени. Он доступен здесь: https://github.com/piwik/github-changelog-generator.

person mattab    schedule 23.10.2014

Не напрямую через GitHub: это был бы своего рода крючок, который вы могли бы установить на место, и который основывался бы на соглашении об именах или соглашении о комментариях, которому может следовать ваш проект.
Даже с использованием заголовка задачи. не всегда верный способ создать значимый журнал изменений, если только вы не просмотрите и не отредактируете, если необходимо, каждое название проблемы вашего проекта.

Другими словами, это очень зависит от того, как вы управляете своим проектом, и его нелегко обобщить на все репозитории GitHub.
Я сказал это в очень похожем вопросе "Опубликовать выпуск проекта (бинарные/исходные пакеты) на Github? ".

person VonC    schedule 19.02.2013

Недавно я помог создать плагин 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');
  });
});
person Valentin    schedule 24.06.2014