【问题标题】:How do I get the XML format of Bugzilla given a bug ID using python and XML-RPC?如何使用 python 和 XML-RPC 在给定错误 ID 的情况下获取 Bugzilla 的 XML 格式?
【发布时间】:2015-03-08 07:28:09
【问题描述】:

此问题已更新

我正在使用 python-bugzilla 1.1.0 pypi 编写一个 python 脚本。我能够获取所有错误 ID,但我想知道是否有办法让我访问每个错误的 XML 页面?这是我到目前为止的代码:

bz = bugzilla.Bugzilla(url='https://bugzilla.mycompany.com/xmlrpc.cgi')
try:
   bz.login('name@email.com', 'password');
   print'Authorization cookie received.'
except bugzilla.BugzillaError:
   print(str(sys.exc_info()[1]))
   sys.exit(1)

#getting all the bug ID's and displaying them
bugs = bz.query(bz.build_query(assigned_to="your-bugzilla-account"))
for bug in bugs:
    print bug.id

我不知道如何访问每个错误的 XML 页面,甚至不确定是否可以这样做。谁能帮我这个?谢谢。

【问题讨论】:

  • 为什么需要 XML 页面?也许你应该描述一下,因为否则你可以做一个 bug.__dict__ 而不是 bug.id,你会看到存储在 bug 中的信息。
  • @Sven 您能否详细说明 bug.__dict__ 的作用?我正在尝试访问 XML 页面,因为当我尝试使用 xml-rpc 访问它们时,我无法获取诸如 cmets、dupe_of、QA 和受让人姓名等属性
  • 好的,bug.__dict__ 可以显示一些内部定义的可以访问的东西。例如bug.assigned_to 会给你分配的人和 bug.depends_on 依赖项。直接使用 XML 不是必须的,但是对于白板的东西必须有一个额外的选项,默认情况下它被省略。但我暂时没有例子。可能会查看插件目录中的 bug.py 或 base.py。

标签: python scripting xml-rpc bugzilla


【解决方案1】:
bz.getbugs()

会搞定所有bug,bz.getbugssimple也值得一看。

【讨论】:

  • 对于这两种方法,我需要将错误 ID 列表作为参数传递。我想知道我是否可以查询所有错误 ID
【解决方案2】:
#!/usr/bin/env python

import bugzilla

bz = bugzilla.Bugzilla(url='https://bugzilla.company.com/xmlrpc.cgi')
bz.login('username@company.com', 'password')

results = bz.query(bz.url_to_query(queryUrl))

bids = []

for b in results:
   bids.append(b.id)

print bids

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多