Rallydev API pyral:有没有办法在一个查询中通过格式化ID获取所有缺陷?

时间:2015-02-17 20:59:12

标签: python rest rally pyral

我有一个不同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)

提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用一点Python 3,你可以将格式化ID的条件串起来......如果你没有Python 3,我确信在2中可以完成同样的事情。重要的部分是终极查询字符串:(((FormattedID = DE111)OR(FormattedID = DE112))OR(FormattedID = DE123))

请参阅repl.it上的an example

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)