2015-01-09 2 views
0

Этот вопрос был обновленКак получить XML-формат Bugzilla с идентификатором ошибки с использованием python и XML-RPC?

Я пишу питон скрипт, используя питон-Bugzilla 1.1.0 PyPi. Я могу получить все идентификаторы ошибок, но я хочу знать, есть ли способ получить доступ к каждой странице XML ошибок. Вот код, который я до сих пор:

bz = bugzilla.Bugzilla(url='https://bugzilla.mycompany.com/xmlrpc.cgi') 
try: 
    bz.login('[email protected]', '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 каждой ошибке, а не уверен, если это еще возможно сделать. Кто-нибудь может мне с этим помочь? Благодарю.

+0

Зачем вам нужна страница XML? Может быть, вы должны это описать, потому что иначе вы можете сделать ошибку .__ dict__ вместо bug.id, и вы увидите информацию, хранящуюся в этой ошибке. – Sven

+0

@Sven Не могли бы вы рассказать о том, что ошибка .__ dict__ does? Я пытаюсь получить доступ к странице XML, потому что я не могу получить такие атрибуты, как комментарии, dupe_of, QA и имя получателя, когда я пытаюсь получить к ним доступ, используя xml-rpc – Alias

+0

Хорошо, ошибка .__ dict__ может показать вам некоторые внутренние определенные вещи к которым можно получить доступ. например. bug.assigned_to предоставит вам назначенное лицо и bug.depends_on зависимости. Использование XML напрямую не обязательно, но для вещей в доске должна быть дополнительная опция, по умолчанию она не указана. Но на данный момент у меня нет примера. Возможно, looging к bug.py или base.py в директории плагинов. – Sven

ответ

0
bz.getbugs() 

Получит все ошибки, bz.getbugssimple также стоит посмотреть.

+0

Для обоих этих методов мне нужно передать список идентификаторов ошибок в качестве параметров. Я хочу знать, могу ли я запросить все идентификаторы ошибок – Alias

0
#!/usr/bin/env python 

import bugzilla 

bz = bugzilla.Bugzilla(url='https://bugzilla.company.com/xmlrpc.cgi') 
bz.login('[email protected]', 'password') 

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

bids = [] 

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

print bids 
+0

Привет, см. Обновленный вопрос – Alias