从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 Grid loadmask(true)在gxt中不起作用   java将字符串索引转换为整数   为什么Java泛型适用于基元数组,但不适用于基元数组?   java如何让Azure应用程序服务Tomcat将所有80/443流量转发到运行在同一应用程序服务上的JBoss   具有多个值的java转换映射到树?   java如何设置SQL server连接URL?   java设置了多个相互独立的JFrame   安全性在JAVA中如何使用RSAPrivateKey的密码短语?   java不能使用比Apache Velocity中更大的条件   如何在Java中打印字符串的所有排列   停止Android Studio自动导入java。sql。日期   对象简单计算器程序java   java如何在安卓中使用“&”符号作为字符串?   java Connect,为我的安卓应用程序从REST API发布和获取数据