跳转到主要内容

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 来控制输出。

  • dependblock 命令:显示或更新错误依赖关系。

  • cc 命令:显示或更新 CC 列表。

  • fields 命令:列出错误字段的合法值。

  • help 命令:显示命令的帮助信息,或在没有提供参数时显示顶级帮助。

  • --version 打印 bugzillatools 版本。

  • 当需要注释但未明确提供时,调用 EDITOR 进行评论输入。

  • 用户匹配:对于需要用户名的命令,如果提供的片段与单个用户匹配,则使用该用户。

  • 命令别名:用户可以为命令和命令参数定义自己的别名。

  • 用单个 status 命令替换 closefixreopenresolve 命令;可以定义特定工作流程的命令,作为 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 (41.9 kB 查看散列)

上传时间 源代码

支持者