从Git提交生成变更日志。
项目描述
从Git提交生成变更日志。
先决条件
Python 3.6, 3.7和3.8
文档
文档可在Read the Docs上找到。
安装
PyPI上的最新稳定版本
pip install matyan
用法
基本用法
查看基本概念部分,以了解可能的提交方法和所做的假设。
生成变更日志
generate-changelog
跳过孤儿提交以生成变更日志
在某些情况下,您可能只想显示与票据相关的操作,并跳过所有非票据相关的提交。
generate-changelog --no-other
在两个发布版本之间生成变更日志
在其他情况下,您可能想显示自上次发布以来所做的工作。以下示例将生成从版本0.0.1到版本0.0.3的变更日志。
generate-changelog 0.0.1..0.0.3
在两个分支之间生成变更日志
有时您只需显示自上次生产版本以来在验收阶段所做的更改。以下示例将生成包含验收分支上更改但尚未在master分支中的变更日志。
generate-changelog master..acceptance
生成包含发布信息显示的变更日志
generate-changelog --show-releases
生成包含发布信息显示的版本之间的变更日志
generate-changelog 0.0.1..0.0.3 --show-releases
生成包含发布信息显示的分支之间的变更日志
generate-changelog master..dev --show-releases
生成包含发布信息显示的最新版本的变更日志
generate-changelog --latest-release --show-releases
生成仅包含标题(无提交消息)并显示发布信息的变更日志
generate-changelog --headings-only --show-releases
生成两个分支之间的变更日志,仅显示未发布的更改
generate-changelog master..acceptance --show-releases --unreleased-only
渲染
以下实现了以下渲染器
Markdown
RestructuredText
历史Markdown(用于与0.4之前的matyan版本兼容)。
Markdown
generate-changelog --show-releases --renderer=markdown
RestructuredText
generate-changelog --show-releases --renderer=rest
历史Markdown
generate-changelog --show-releases --renderer=historical-markdown
Jira集成
可以从中获取Jira的工单标题和描述。为了使其正常工作,您应该提供fetch-title和fetch-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
示例
请参阅输出目录中的示例。
此外,请参阅Jupyter笔记本示例。
配置
为了自定义名称和文本,在运行generate-changelog命令的项目目录中添加一个.matyan.ini。
示例配置
[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放置在主目录中将使该配置对所有项目全局有效。但是,由于本地.matyan.ini文件仅扩展全局配置,因此这可能很有用。例如,您可以使用全局配置来存储Jira凭据。
[Jira]
url:https://barseghyanartur.atlassian.net/
username:user@domain.com
token:abcd1234
然而,请注意,将完全复制部分。
技巧和窍门
写入文件
generate-changelog --show-releases 2>&1 | tee changelog.md
创建初始配置文件
matyan-make-config
测试
只需输入
./runtests.py
或使用tox
tox
或使用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-only OR LGPL-2.1-or-later
支持
有关任何问题,请联系作者部分中给出的电子邮件。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
matyan-0.4.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3af7bb333e02b0a03dd1e83761304fffc46c4a35e225a22640a32c01cfec7640 |
|
MD5 | d877c0aab5027c6c10ec9f1b19861370 |
|
BLAKE2b-256 | 097aab34acad898cbd6aac4428df34c890874d05c6b734ae2b5ab1124d45494e |
matyan-0.4.7-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 667d8926737352178868262005b84de2df76774993a306fa119070edbf49b31e |
|
MD5 | d905b6310d6220f58a3c335d6c7f9cca |
|
BLAKE2b-256 | 7b095348971e0c6191aa35f366d2ab062101a880450b2968bc248b6b095bbbc7 |