2

プロジェクトタスク追跡用のRedmineツールでの問題作成を自動化するために、python-redmineモジュールを使用してpythonスクリプトを書いています。

python-redmine のドキュメントの助けを借りて、Issue を作成し、その下にサブタスクを作成するのは非常に簡単でした。また、'parent' 属性を使用して特定の問題の親の問題を取得することも簡単です。

ここで、特定の問題について、関連するサブタスクのリストを取得し、サブタスクの開始日と終了日などの属性を抽出して、メインの問題に統合したいと考えています。

以下に示すような長い解決策を見つけました。

>>>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 があります。

他にもっと簡単な方法はありますか?

4

1 に答える 1

2

タスクの子タスクを取得するには、2 つのオプションがあります。

1) これは、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 回の呼び出しでサブタスクを取得することです。2 番目のケースでは、作業を開始するときに Redmine への 2 回目の呼び出しが行われますissue.children

この例では、1 つのプロジェクトではなく、プロジェクトのすべての課題を取得しているため、2 番目のオプションを使用する必要があります。

于 2015-05-20T21:21:37.080 に答える