You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Pyral获取缺陷严重程度列表及非调试类所有严重程度类型?

使用Pyral获取排除调试类的缺陷严重程度列表

当然可以通过Pyral获取不同的缺陷严重程度列表,而且完全能轻松排除掉调试类的类型!其实缺陷的严重程度在Rally里是枚举类型,我们根本不需要遍历所有缺陷去手动收集,直接获取枚举的可选值就高效多了。

下面是具体的实现步骤和代码示例:

核心思路

  • 先连接到你的Rally实例,获取Defect类型的字段元数据
  • 定位到Severity字段的枚举定义,提取所有可选值
  • 过滤掉你不需要的“调试类”选项(比如常见的"Debug",记得替换成你实际用的名称)

代码示例

from pyral import Rally, rallyWorkset

# 初始化Rally连接(根据你的实际配置调整参数)
server = "rally1.rallydev.com"
api_key = "你的API密钥"
workspace = "你的工作区名称"
project = "你的项目名称"

rally = Rally(server, apikey=api_key, workspace=workspace, project=project)

# 获取Defect类型的字段元数据
type_def = rally.getTypeDefinition("Defect")
# 找到Severity字段的定义
severity_field = next(field for field in type_def.Fields if field.Name == "Severity")

# 提取所有严重程度选项,排除调试类(这里假设调试类名称是"Debug")
allowed_severities = [option.StringValue for option in severity_field.AllowedValues 
                      if option.StringValue != "Debug"]

# 输出结果
print("排除调试类后的严重程度列表:")
for severity in allowed_severities:
    print(f"- {severity}")

额外拓展:用过滤后的严重程度查询缺陷

如果你之后想用这些筛选好的严重程度来查询对应缺陷,可以用下面的代码:

# 构造查询条件
query = f"(Severity in ({', '.join([f'\"{s}\"' for s in allowed_severities])}))"
# 获取符合条件的缺陷
defects = rally.get("Defect", query=query, fetch=True)

print(f"找到符合条件的缺陷总数:{len(defects)}")

这种方法比遍历所有缺陷去收集严重程度要高效得多,尤其是当你的项目里缺陷数量很大的时候,完全不会浪费资源~

内容的提问来源于stack exchange,提问作者Nathan Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:15:05