获取问题评论 JIRA python
Posted
技术标签:
【中文标题】获取问题评论 JIRA python【英文标题】:Getting issue comments JIRA python 【发布时间】:2016-05-22 18:16:12 【问题描述】:我正在尝试获取在某个搜索查询的 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
但是,如果我尝试访问使用以下表示法创建的票证的 cmets,则会收到一个关键错误。
for issue in issues:
print issue.raw['fields']['comment']
如果我尝试获取如下单个问题的 cmets,我可以访问 cmets:
single_issue = jira_object.issue('SUP-136834')
single_issue.raw['fields']['comment']
如何通过 search_issues() 函数访问这些 cmets?
【问题讨论】:
您能指定您使用的是哪个 JIRA 库吗? 我正在使用 python jira 库。有关我正在运行的导入 cmets,请参见下文: import jira from jira.client import JIRA 【参考方案1】: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)
【讨论】:
【参考方案2】:search_issues方法不返回comment字段,必须通过设置相应参数手动声明必须包含的字段。
只需在 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')
现在您可以访问 cmets 而不会出现 keytype 错误
comm=([issue.raw['fields']['comment']['comments'] for issue in open_issues])
【讨论】:
【参考方案3】:我在同样的问题上苦苦挣扎。假设“issue”是Issue类型的对象,而“jira”是JIRA类型的对象,根据http://jira.readthedocs.org/en/latest/#issues
issue.fields.comment.comments
应该可以工作,但字段对象没有任何关键的“评论”。
那里提到的另一个选项对我有用:
jira.comments(issue)
因此,要使其正常工作,您可以使用搜索结果中的问题并调用 jira.cmets。例如
issues = jira.search_issues(query)
comments = jira.comments(issues[index])
(我的库版本是1.0.3,python 2.7.10)
【讨论】:
使用[comment.body for comment in cmets]获取评论中输入的文字以上是关于获取问题评论 JIRA python的主要内容,如果未能解决你的问题,请参考以下文章