从Git提交生成changelog。

matyan的Python项目详细描述


从Git提交生成changelog。在

PyPI VersionSupported Python versionsBuild StatusGPL-2.0-only OR LGPL-2.1-or-laterCoverage

先决条件

  • Python 3.6、3.7和3.8

文件

文档可在Read the Docs上找到。在

安装

PyPI的最新稳定版本:

pip install matyan

使用

基本用法

Basic concepts 获取可能的提交方法和假设的印象。在

生成变更日志:

^{pr2}$

Generate changelog跳过孤立提交:

在某些情况下,你只想展示一下门票和 跳过所有与票证无关的提交。在

generate-changelog --no-other

在两个版本之间生成变更日志:

在其他情况下,您可能希望展示自上次发布以来所做的工作。 下面的示例将生成自版本0.0.1到 版本0.0.3。在

generate-changelog 0.0.1..0.0.3

在两个分支之间生成changelog:

有时你只需要展示自上一次验收以来的变化 生产放行。 下面的示例将生成包含打开的更改的changelog 接受分公司,还没有在硕士。在

generate-changelog master..acceptance

生成包含发布信息的变更日志

generate-changelog --show-releases

Generate changelog between releases with releases info show

generate-changelog 0.0.1..0.0.3 --show-releases

Generate changelog between branches with releases info showing

generate-changelog master..dev --show-releases

为显示了发布信息的最新版本生成变更日志

generate-changelog --latest-release --show-releases

只生成带有标题的changelog(没有提交消息)并发布显示的信息

generate-changelog --headings-only --show-releases

在两个分支之间生成changelog,仅显示未发布的更改:

generate-changelog master..acceptance --show-releases --unreleased-only

渲染

将实现以下渲染器:

  • 降价
  • 重新构造文本
  • 历史降价(为了与matyan之前的版本兼容 0.4)。在

降价

generate-changelog --show-releases --renderer=markdown

重组文本

generate-changelog --show-releases --renderer=rest

历史降价

generate-changelog --show-releases --renderer=historical-markdown

Jira集成

可以从Jira获取票名和描述。为了它 要工作,您应该提供fetch-titlefetch-description 论据。在

需要将以下内容添加到您的.matyan.ini

[Settings]
fetchDataFrom=Jira

除此之外,您应该将有效的Jira凭证放入 全局.matyan.ini配置文件。在

要运行的命令:

generate-changelog --show-releases --fetch-title --fetch-description

请记住,matyan应与jira选项一起安装。在

pip install matyan[jira]

或者,确保安装了atlassian-python-api。在

pip install atlassian-python-api

示例

output 示例目录。在

另外请参见Jupyter notebook examples。在

配置

为了自定义名称和文本,请在 项目目录,您将从中运行generate-changelog 命令。在

示例配置:

[BranchTypes]
feature: Feature
bugfix: Bugfix
hotfix: Hotfix
deprecation: Deprecation

[OtherBranchType]
other: Other

[Unreleased]
unreleased: Unreleased

[IgnoreCommits]
exact: more
       clean up
       code comments
       more on docs
       repo
       working
       more on
       wip
       commit
prefix: more on
        continue on

请注意,将.matyan.ini放入home根目录将使 所有项目的全局配置。不过,这可能很方便,因为当地 .matyan.ini文件只是扩展全局文件。例如,你可以 使用全局配置存储Jira凭据。在

[Jira]
url:https://barseghyanartur.atlassian.net/
username:user@domain.com
token:abcd1234

但是,请注意,部分是完全复制的。在

提示和技巧

写入文件

^{pr21}$

创建初始配置文件

matyan-make-config

测试

简单键入:

./runtests.py

或使用毒物:

tox

或者用毒物检查特定的环境:

tox -e py38

调试

有时检查日志会很方便。Matyan日志已存储在 运行generate-changelog(或任何 其他Matyan)命令。在

按以下方式更新您的.matyan.ini配置:

[Settings]
debug=true
tail -f /path/to/your/project/matyan.log

如果要修改当前日志记录,请使用MATYAN_LOGGING_CONFIG 环境变量。在

默认配置:

DEFAULT_LOGGING_CONFIG={'version':1,'disable_existing_loggers':False,'root':{'level':'WARNING','handlers':['file'],},'formatters':{'verbose':{'format':'{levelname}{asctime}{module}{process:d}{thread:d} ''{message}','style':'{',},'simple':{'format':'{levelname}{message}','style':'{',},},'handlers':{'console':{'level':'WARNING','class':'logging.StreamHandler','formatter':'simple'},'file':{'level':'WARNING','class':'logging.handlers.RotatingFileHandler','filename':os.path.join(os.getcwd(),"matyan.log"),'maxBytes':1048576,'backupCount':99,'formatter':'verbose',},},'loggers':{'matyan':{'handlers':['file'],'propagate':True,},},}

编写文档

保持以下层次结构。在

=====
title
=====

header
======

sub-header
----------

sub-sub-header
~~~~~~~~~~~~~~

sub-sub-sub-header
^^^^^^^^^^^^^^^^^^

sub-sub-sub-sub-header
++++++++++++++++++++++

sub-sub-sub-sub-sub-header
**************************

许可证

仅限GPL-2.0或LGPL-2.1或更高版本

支持

如有任何问题,请通过Author部分中的电子邮件与我联系。在

作者

Artur Barseghyan<;artur.barseghyan@gmail.com>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我在SearchView谷歌地图中遇到问题   java Oracle将空字符串转换为null,但JPA不会相应地更新实体缓存   javascript Webview未显示该页面   java无法解析“JSONObject”中的方法“toMap”   Web服务的简单java客户端代码与QName有关吗?   跨不同测试类共享TestNG设置Selenium Java   java如何将Spring OAuth2服务器集成到Liferay中   java无法解析导入sun   使用1个变量的java Fibonacci   java如何从活动中调用片段活动?   html Java/HtmlUnit如何从HtmlImageInput获取HtmlImage?   JavaGoogleMapsAPIv2显示空白地图   Java:printstream输出奇怪,为什么toString不转换?   linux为什么有时候JVM会被卡住几秒钟,然后在java中再次恢复?   Java在流中丢失国际字符   java More Mockito返回\u DEEP\u STUBS悲哀   java有没有办法仅从jdbc数据库url恢复数据库(.db或.mdb文件)?   java ArrayList removeAll()不删除对象