質問は何年も前に尋ねられましたが、 pyralで日付を含むクエリを使用したい人には役立つかもしれません。
質問のコードにはいくつかの問題があります。
datetime.datetime.now()
Rally が必要とする形式で日付を返さない可能性があるstrftime
ため、適切な形式を取得するために使用することをお勧めします。
複数の条件には、正しい括弧のセットが必要です。例えば:((((condition1) AND (condition2)) AND (condition3)) AND (condition4))
LastUpdateDate
必ず現在の日付より前になります (ユーザーが未来にジャンプできた場合を除く)。
日付は"
、シングル クォーテーション ( ) ではなく、ダブル クォーテーション ( ) で囲む'
ことをお勧めします。
これは、過去 5 日間更新されておらず、完了していないタスクを特定するためのコードです。
iter_name = "2018-Iteration-4"
five_days_ago = datetime.datetime.now() - datetime.timedelta(days=5)
str_date = five_days_ago.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
tasks_not_updated = rally.get(
'Task',
query = '(((iteration.Name = "%s")'
' and (State != Completed))'
' and (LastUpdateDate < "%s"))' % (iter_name, str_date)
)
for task in tasks_not_updated:
print("%s (%s)" % (task.Name, task.State))