我正在尝试获取某个搜索查询的JIRA中创建的问题的所有评论。我的查询相当简单:
import jira
from jira.client import JIRA
def fetch_tickets_open_yesterday(jira_object):
# JIRA query to fetch the issues
open_issues = jira_object.search_issues('project = Support AND issuetype = Incident AND
(status = "Open" OR status = "Resolved" OR status = "Waiting For Customer")', maxResults = 100,expand='changelog')
# returns all open issues
return open_issues
但是,如果我尝试访问使用以下符号创建的票证的注释,则会出现密钥错误。
for issue in issues:
print issue.raw['fields']['comment']
如果我尝试获得以下单个问题的评论,我可以访问评论:
single_issue = jira_object.issue('SUP-136834')
single_issue.raw['fields']['comment']
如何通过 search_issues() 函数访问这些注释?
search_issues方法不返回注释字段 您必须通过设置相应的参数来手动声明必须包含的字段。
只需在 search_issue 方法中包含 'fields' 和 'json_result' 参数并像这样设置
open_issues = jira_object.search_issues('project = Support AND issuetype = Incident AND
(status = "Open" OR status = "Resolved" OR status = "Waiting For Customer")', maxResults = 100,expand='changelog',fields = 'comment',json_result ='True')
现在您可以访问评论而不会收到键类型错误
comm=([issue.raw['fields']['comment']['comments'] for issue in open_issues])
我在同样的问题上挣扎。假设"issue"是Issue类型的对象,而"jira"是JIRA类型的对象,根据 http://jira.readthedocs.org/en/latest/#issues
issue.fields.comment.comments
应该可以工作,但字段对象没有任何键"注释"。
那里提到的另一个选项对我有用:
jira.comments(issue)
因此,为了使它正常工作,您可以使用搜索结果中的问题并调用jira.comments。
issues = jira.search_issues(query)
comments = jira.comments(issues[index])
(我的库版本是 1.0.3,python 2.7.10)
from jira import JIRA
Jira = JIRA('https://jira.atlassian.com')
issue_num = "ISSUE-123"
issue = Jira.issue(issue_num)
comments = issue.fields.comment.comments
for comment in comments:
print("Comment text : ",comment.body)
print("Comment author : ",comment.author.displayName)
print("Comment time : ",comment.created)