Jira-Python:我们如何通过传递对象来获取评论者名称?

时间:2017-07-22 09:47:22

标签: python jira python-jira

我正在尝试在最近更新的问题中获取评论员姓名的数据。我将更新的问题保存在列表中,当我在查询中传递列表时,它会给我AttributeError: type object 'PropertyHolder' has no attribute 'comment',即使问题上有评论。

有人可以帮忙吗?

以下是代码

def issue_tested(project_name, updated_from, updated_to):
    print project_name, updated_from, updated_to
    total_update=[]
    total_update = jira.search_issues('project = %s AND updated >= %s and updated <= %s' % (project_name, updated_from, updated_to))
    total_updated_length = len(total_update)

print total_update
print total_updated_length
print total_update[2]
issue = jira.issue(total_update[2])
print issue
print issue.fields.comment.comments[0].author.name

我遇到了这个问题,但是没有通过打印issue.fields.comment.comments[0].author.name。但是,当我直接分配问题时,例如:i ssue = jira.issue('Issue_name'),它会给我作者姓名。但是将它作为对象传递时会显示属性错误。

PS:我现在不想像现在这样使用Script-Runner,你能不能在python中给我任何解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

解释

您收到此错误的原因是默认情况下search方法会返回可导航字段的问题:

  

默认情况下,此处仅返回可导航(*可导航)字段   搜索资源。注意:get-issue中的默认值不同   资源 - 默认存在所有字段(* all)。

执行issue方法时:

issue = jira.issue(total_update[2])

你传递issue个对象,而不是字符串。在里面有一个条件:

if type(id) == Issue:
    return id

即。它只返回search执行中的原始方法,该方法缺少注释字段。

解决方案

  1. 您可以要求search方法将评论字段包含在结果中:

    total_update = jira.search_issues(jql_str='project = %s AND updated >= %s and updated <= %s' % (project_name, updated_from, updated_to), fields='comment')
    
  2. 您可以通过密钥查询问题:

    issue = jira.issue(total_update [2] .key)

  3. 方法#1是首选,除非您需要针对某些特定问题获得评论。