使用python redmine模块获取问题的子任务列表

时间:2015-05-20 05:31:35

标签: python python-redmine

我正在编写一个python脚本,使用python-redmine模块在Redmine工具中自动创建问题以进行项目任务跟踪。

在python-redmine文档的帮助下,在它们下创建问题和子任务非常容易。此外,直接使用“父”属性获取给定问题的父问题。

现在,对于给定的问题,我想获取相关子任务的列表,然后提取子任务的开始和结束日期等属性,以合并到主要问题。

我找到了一个很长的解决方案,如下所示。

>>>from redmine import Redmine
>>>projt = redmine.project.get('redmine_test')
>>>projt.issues
>>> for iss in projt.issues:
...   try:
...     print(iss.id,':',iss.parent)
...   except:
...     pass
...
4341 : 4335
4340 : 4335
4339 : 4335
4299 : 4297
4298 : 4297
4212 : 4211
4211 : 4187

从这个问题的子任务可以列出,例如,问题4335有子任务4339,4340和4341。

还有其他更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

您有2个选项可以让孩子完成任务:

1)这是首选选项,因为它将在一次调用中返回所有子任务:

issue = redmine.issue.get(105, include='children')
issue.children
<redmine.resultsets.ResourceSet object with Issue resources>

2)您可以使用点播包括:

issue = redmine.issue.get(105)
issue.children
<redmine.resultsets.ResourceSet object with Issue resources>

不同之处在于,在第一种情况下,您将在一次调用Redmine中获得子任务,在第二种情况下,当您开始使用{{1}时,将对Redmine进行第二次调用。 }}

对于您的示例,您必须使用第二个选项,因为您要检索项目的所有问题而不是单个问题。