访问jira-python中工作日志中的特定信息

时间:2014-06-23 22:16:46

标签: python jira python-jira

如何使用jira-python库从问题中获取工作日志的分钟数?

使用jirashell我看到问题的属性是issue.fields.worklog,但是当我尝试在我的python代码中访问它时,我收到错误:AttributeError: type object 'PropertyHolder' has no attribute 'worklog'

如果我创建一个jira客户端并在我的python代码中执行jira_client.worklogs(ticket.key),它会返回一个Worklogs列表及其id,但我不知道如何处理它。我在文档中看到有一个worklog()函数,它接受了问题id和工作日志ID,但我不明白它返回什么以及如何使用它/如果它正是我正在寻找的。 / p>

1 个答案:

答案 0 :(得分:3)

我通过客户找到了一种迂回的方式。

当我遍历每个问题时,我通过执行worklogs = jira_client.worklogs(issue.key)得到每个票证的工作日志列表,然后我遍历工作日志列表中的所有工作日志项目(嵌套for循环):

for worklog in worklogs:
    totaltime += readtime(worklog.timeSpent)

使用jirashell我访问了特定故障单的特定工作日志:wl = jira_client.worklog(<issue key>, <worklog id>)然后我输入了wl.并按了TAB,它列出了以下内容:

  

wl.author,wl.comment,wl.created,wl.delete,wl.find,wl.id,wl.raw,wl.self,wl.started,   wl.timeSpent,wl.timeSpentSeconds,wl.update,wl.updateAuthor,wl.updated

注意:您需要在按Tab键之前在wl末尾包含句点)

在jirashell中运行wl.timespent给了我一个带有数字的unicode字符串,然后是h或m的小时或分钟(例如:u'6h')。然后我知道,一旦我在上面的循环中生成了worklog对象,我就可以使用timepsent属性来访问时间了。

注意:我的readtime函数将字符串转换为整数,并将小时数转换为分钟,此处未显示)

jirashell真的有助于找到字段的属性等。(注意:除了jira之外你还需要安装jira-python才能运行jirashell。如果你安装了在virtualenv中使用jira-python,一旦进入项目目录,就需要从命令行运行env/bin/jirashell。)