5

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

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

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

4

1 回答 1

3

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

当我遍历每个问题时,我通过 do 获得每张工单的工作日志列表,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

注意:您需要在按制表符之前在 wl 末尾包含句点)

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

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

jirashell 确实有助于尝试查找字段的属性等。(注意:除了 jira 之外,您还需要安装 jira-python 才能运行 jirashell。此外,如果您在 virtualenv 中安装了 jira-python,则需要运行env/bin/jirashell进入项目目录后,从命令行中。)

于 2014-06-24T01:56:59.967 回答