Bugzilla CLI客户端,XML-RPC绑定和VCS插件
项目描述
bugzillatools包括bugzilla CLI程序和一个用于与Bugzilla错误跟踪系统交互的Python库,以及允许与Bugzilla安装交互的版本控制系统插件。
唯一的依赖项是Python 2.7,bugzillatools与已启用XML-RPC功能的Bugzilla 4.0或更高版本兼容。
安装
# via pip pip install bugzillatools # as superuser -or- pip install bugzillatools --user # user site-packages installation # from source python setup.py install # as superuser -or- python setup.py install --user # user site-packages installation
如果要将软件包安装到用户site-packages,您的用户基本目录中的bin/目录需要出现在PATH中。此目录取决于系统;请参阅PEP 370。
如果要将软件包安装到用户site-packages,可能需要进行一些手动移动或文件符号链接,以便Bazaar插件能够被Bazaar检测到。请参阅PEP 402以了解这一不足。
组件
bugzilla 程序
用于与 Bugzilla 服务器交互的命令行应用程序。以下为可用的子命令:
- assign:
将错误分配给指定的用户。
- block:
显示或更新指定错误的阻止列表。
- cc:
显示或更新 CC 列表。
- comment:
列出评论或在指定错误上提交评论。
- config:
显示或更新配置。
- depend:
显示或更新指定错误的依赖关系。
- desc:
显示指定错误(的)描述。
- dump:
打印错误数据的内部表示。
- edit:
编辑指定的错误。
- fields:
列出错误字段的有效值。
- help:
显示帮助。
- history:
显示指定错误的记录。
- info:
显示指定错误的详细信息。
- list:
显示指定错误的单行摘要。
- new:
提交新的错误。
- priority:
设置指定错误的优先级。
- products:
列出 Bugzilla 实例的产品。
- search:
搜索符合给定条件的错误。
- status:
设置指定错误的状况。
- time:
显示或调整指定错误的时问和估计。
bzlib
通过 XML-RPC 接口提供对 Bugzilla 实例访问的库。支持错误创建、错误信息和评论检索、更新错误字段以及将评论附加到错误。
Bazaar 插件
此插件在启用 Bugzilla 错误跟踪器时,当使用带有 --fixes 参数的 bzr commit 调用标记错误已修复。它还在错误中添加注释,包括分支位置、提交消息、更改的文件列表和其他有关提交的细节。
Bazaar 插件需要 Bazaar 2.0 或更高版本。
配置
.bugzillarc
bugzilla 程序在其配置文件中查找 ~/.bugzillarc,它使用 ini 风格的配置。
core
- server
默认服务器的名称
alias
选项名称是别名;它们的值是替代。
server.<name>
定义一个服务器。bugzillatools 支持多个服务器;可以使用 --server=<name> 参数选择服务器。
- url
Bugzilla 服务器的基本 URL(必填项)
- user
Bugzilla 用户名(可选)
- password
Bugzilla 密码(可选)
- assign_status
当使用 assign 命令时,如果错误的当前状况在第一个列表中,状况将更新为第二个项。格式为:<oldstatus>[,<oldstatus>]* <newstatus>。对于默认的 Bugzilla 工作流程,一个合适的值可能是:"UNCONFIRMED,CONFIRMED IN_PROGRESS"。
- default_product
如果提供,并且提供的字符串与服务器上产品的名称相对应,则使用该产品作为默认值。用户仍将提示确认。
示例 .bugzillarc
[core] server = example [server.example] url = http://bugzilla.example.com user = user@example.com password = sekrit [alias] fix = status --status RESOLVED --resolution FIXED wfm = status --status RESOLVED --resolution WORKSFORME confirm = status --status CONFIRMED
Bazaar 插件
要启用 Bazaar bugzillatools 插件,请在 ~/.bazaar/bazaar.conf(全局配置)或 .bzr/branch/branch.conf(分支内)中包含以下配置指令:
bugzilla_<server>_bugzillatools_enable = True bugzilla_<server>_url = <bugzilla url> bugzilla_<server>_status = RESOLVED bugzilla_<server>_resolution = FIXED
这种配置假设在您的 .bugzillarc 文件中已定义了一个部分 [server.<server>]。
您现在可以直接设置错误的状态(使用Bazaar配置中定义的状态和解决方案)。
bzr commit -m 'fix bug 123' --fixes <server>:123
许可证
bugzillatools 是自由软件:您可以在自由软件基金会发布的GNU通用公共许可证的条款下重新分发它和/或修改它,无论是许可证的第3版,还是(根据您的选择)任何后续版本。
贡献
bugzillatools 的源代码可在 https://github.com/frasertweedale/bugzillatools 获取。
欢迎提交错误报告、补丁、功能请求、代码审查和文档。
要提交补丁,请使用 git send-email 或生成拉取请求。编写一个 格式良好的提交信息。如果您的补丁非平凡,请更新每个更改文件的版权声明。
变更日志
v0.5.5 :: Sat Apr 25 2015
新功能
comment 命令学习了 --private 选项(由 Johannes Segitz 贡献)
错误修复
修复评论枚举顺序
修复调用编辑器时的字符串编码错误,这可能导致发送到服务器的无效XML
v0.5.4 :: Sun Nov 23 2014
错误修复
在缺少服务器/帐户配置时提供更好的错误消息 (#3)
从错误记录中删除没有名称数据的字段 (#5)
将用户名和密码配置设置为可选 (#12)
v0.5.3.1 :: Sun Nov 24 2013
错误修复
修复安装错误
v0.5.3 :: Sat Nov 23 2013
错误修复
编辑器:修复当未定义 EDITOR 时对 vi(1) 的错误路径(问题/1;由 @taa1 报告)
create 命令:在没有设置默认值的情况下将“默认”字段视为必填项(问题/2;由 @taa1 报告)
用户界面:修复一些 Unicode 编码错误
fields 命令:处理在 4.4 版中的结果格式的小幅变化
纠正平台字段的名称(platform -> rep_platform)
其他更改
扩展 bzr 插件文档
v0.5.2 :: Tue Feb 7 2012
新功能
priority 命令:设置给定错误的优先级。
comment 命令学习了 --which 参数,用于限制输出仅限于给定的注释。
search 学习了 --version 参数。
edit 命令:编辑错误的版本号。
错误修复
search 命令:修复返回零错误时的崩溃
其他更改
-V 替换 --version 以显示程序版本信息。
v0.5.1 :: Tue Jan 10 2012
错误修复
new 命令:修复 assigned_to 用户匹配。
v0.5 :: Tue Jan 3 2012
新功能
search 命令:根据给定的标准搜索错误。
history 命令:显示错误的记录。
new 命令:新的配置 server.<name>.default_product,如果设置并且对应服务器上的产品,则指定默认产品。
new 命令:在创建错误期间指定分配人或 cc 列表时执行用户匹配。
错误修复
time 命令:计算在错误上工作的小时数。
v0.4 :: Wed Nov 30 2011
新功能
time 命令:显示或调整给定错误的时问和估计。在编写本文时,Bugzilla 的 RPC API 的限制阻止了显示错误的累积时间。
desc 命令:显示给定错误的描述。
dump 命令:打印错误(们)的内部表示。
comment 命令现在支持 --omit-empty 和 --include-empty 参数;从输出中排除或包含空评论(例如,额外工作时间但无具体评论)。默认情况下,将排除空评论。
assign 命令现在可以配置(按服务器基础),使用 assign_status 选项来更改错误的状态。有关详细信息,请参阅 README。
错误修复
现在对 Bugzilla URL 进行更严格的合理性检查。
其他更改
配置文件语法已更改为类似于 ini 的格式(即,可由 ConfigParser 解析)。不再支持 JSON 配置。
v0.3 :: 2011年8月7日星期日
新功能
添加了 Bazaar 插件。
new 命令:提交新的错误,提示用户输入错误数据。
status 命令现在支持 --dupe-of 参数;这足以标记错误为另一个错误的副本(Bugzilla 会自动设置状态和解决字段为适当的值)。
错误修复
status 仅在新的状态为已关闭且当前状态为开放时提示解决方法(尽管仍然可以指定 --resolution)。
从 status 命令中删除了未使用的 --choose-status 和 --choose-resolution 参数。
修复了显示选择列表时索引字段的宽度(当显示的项目数为10的幂时太宽)
当提示用户输入时,将 EOFError(《^D》)转换为 bzlib.ui.RejectWarning。
如果列表中只有一个项目,则无需提示用户从中选择一个。
v0.2.1 :: 2011年7月12日星期二
错误修复
所有命令均支持 Unicode 数据。
如果没有定义别名,则不在 --help 输出中显示“别名”标题。
将全局参数添加到子命令 --help 输出。
v0.2 :: 2011年7月2日星期六
新功能
comment 现在在未给出注释时列出错误评论。可以使用 --forward、--reverse 和 --limit=N 来控制输出。
depend 和 block 命令:显示或更新错误依赖关系。
cc 命令:显示或更新 CC 列表。
fields 命令:列出错误字段的合法值。
help 命令:显示命令的帮助信息,或在没有提供参数时显示顶级帮助。
--version 打印 bugzillatools 版本。
当需要注释但未明确提供时,调用 EDITOR 进行评论输入。
用户匹配:对于需要用户名的命令,如果提供的片段与单个用户匹配,则使用该用户。
命令别名:用户可以为命令和命令参数定义自己的别名。
用单个 status 命令替换 close、fix、reopen 和 resolve 命令;可以定义特定工作流程的命令,作为 status 的别名,并带有适当的参数。
错误修复
改进了服务器配置错误或缺少配置的处理。
按字母顺序列出命令。
其他更改
默认用户配置文件已更改为 ~/.bugzillarc(以前为 ~/.bugrc)。
v0.1.2 :: 2011年6月17日星期五
错误修复
修复 Bugzilla 构造参数。
v0.1.1 :: 2011年6月14日星期二
新功能
products 命令:列出 Bugzilla 的产品。
在 --help 输出中描述子命令。
错误修复
处理未定义服务器时的服务器查找失败。
v0.1 :: 2011年6月12日星期日
新功能
bugzillatools 的首个版本
项目详情
bugzillatools-0.5.5.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3e1dfa5a74c4ac071333ae5c450304e7cb5bb705cbada00a9da236670954b984 |
|
MD5 | 6cdd573562470b669fcded503b705c03 |
|
BLAKE2b-256 | 6bfef5c181a0056d4901d1b21c38926f90fbc932714ff7357c207a1315ee2f15 |