0

我有一个具有不同 ID 的缺陷列表。我需要遍历列表并将已修复/已验证的缺陷收集到单独的列表中。

您能否告知是否有一种方法可以在一个查询中进行(例如在查询中发送一个元组)而不是每次都发送一个新的获取请求?

目前它看起来像:

items = ("DE111", "DE123", "DE345")
defects = []
for item in items:
  criteria = 'FormattedID = "%s"' % item
  response = rally.get('Defect', fetch="Name,State", query=criteria)
  for defect in response:
    defects.append(defect)

先感谢您!

4

1 回答 1

1

使用一点 Python 3,您可以将 Formatted ID 上的“或”条件串在一起......如果您没有 Python 3,我相信可以在 2 中完成同样的事情。重要的部分是最终的查询字符串即: (((FormattedID = DE111) OR (FormattedID = DE112)) OR (FormattedID = DE123))

请参阅repl.it 上的示例

from functools import reduce
items = ("DE111", "DE112")

def byFormattedId(value): 
   return "(FormattedID = \"%s\")" % value

def ors(statement, value): 
   return "(%s OR %s)" % (statement, value)


x = list(map(byFormattedId, items))
y = reduce(ors, x)
于 2015-02-18T00:09:26.150 回答