查询结构
查询由一个或多个条件组成,结果集中的每个工作项都必须满足这些条件。
可以通过在条件之间使用 AND 和 OR 元素将条件进行组合和嵌套。 每个条件都会引用一个工作项属性、一个运算符以及一个或多个值。 多个所选值的含义取决于运算符:对于肯定运算符(例如 is),含义为 OR。 对于否定运算符(例如 is not),含义为 AND。 以下两个示例说明了此概念。
示例 1: 将 状态 属性条件设置为 是 "新建" 或 "已重新打开"
示例 2: 将 状态 属性条件设置为 不是 "新建" 且未重新打开

还可以通过使用逗号分隔列表来为简单类型(例如字符串或数字)的属性指定多个值。
示例 3: 将 ID 属性条件设置为 是 53 或 110 或 129 或 216

如果您没有为属性条件选择或输入值,那么查询引擎将忽略该条件。 空条件等同于与属性的所有可能值都匹配。
变量
大多数值集是可配置的,并且可以随时间推移而变更,这意味着您的查询可能会过时。 变量表示可以随时间推移而变更或者可以适用于查询的运行上下文的值或值集。 由于这些原因,变量提供了一种创建以下查询的方式:这些查询可以随时间推移一直有效,并且可以在用户之间共享。
在用户界面中,变量将表示为复选框,这些复选框位于查询编辑器部分中的值区域之上。 示例 4 显示了 状态 属性的 未解析 和 已解析 变量。
示例 4:状态属性的未解决和已解决 变量

您可以像使用任何其他值一样使用变量。 如果将变量与其他变量或值进行组合,那么如上所述,相同的语义适用。 在上一示例中,如果您选择未解决变量和已延迟值,那么这意味着对于 is 运算符,状态属性条件是“Unresolved OR Deferred”。
| 属性 | 变量 | 描述 |
|---|---|---|
| 状态 | 未解决 | 定义工作流程时,可以将每个状态分配给以下三个组之一: open, in progress或 closed。 未解析 变量选择在运行查询时属于 已打开组和 正在进行中组的所有状态。 |
| 状态 | 已解决 | 定义工作流程时,可以将每个状态分配给以下三个组之一: open, in progress或 closed。 已解决 变量选择在运行查询时属于 已关闭组的所有状态。 |
| 用户 | 当前用户 | 运行查询时,当前用户变量将选择已认证的用户。 |
| 归类依据 | 与当前用户相关 | 类别属于一个项目或一个或多个团队区域。 运行查询时,归档依据变量将选择所有与已认证的用户所属团队区域相关联的类别。 可以将此变量视为 我的团队区域。 |
| 计划目标 | 当前迭代 | 当您将 is 运算符与 Current 迭代 变量配合使用时,查询将选择在层次结构上执行搜索时设置了 release 调度标志的第一次迭代,从项目区域中设置为当前的所有叶迭代开始。 当前迭代对应于工作项编辑器中显示为当前的迭代。 将 is part of 运算符与当前迭代变量配合使用时,查询将所选迭代用作根迭代,并包括其在项目区域中的所有子代。 |
| 创建日期 | 单击相对日期以指定与运行查询时的时间对应的时间点或时间范围。 使用
after (including) 或 before (including) 运算符时,变量将返回的时间为运行查询时的时间加上偏移量。 例如,
|
|
| timestamps | |
对于
is 和 is not 运算符,将按照计划目标属性所述来计算时间点,但变量将返回时间范围,此范围包括该时间点并使用您选择的时间单位。 例如,如果今天是 2015 年 11 月 3 日,那么接下来列示的查询条件具有下列含义。
注: 运行以下查询时,客户机没有时区更正:
|
参数变量
参数变量是一种特殊类型的变量功能,该功能通过跨上下文和用户复用查询来使查询更灵活。 参数变量是一种条件,它允许用户在每次运行查询时选择其值,从而允许在不同上下文中复用查询。 例如,可以通过使用参数变量来合并那些使用不同用户组、日期范围、工作项关系以及严重性的查询。 当知道查询中的某个条件会在查询调用之间变更时,最好将该条件定义为参数变量。
例如,在查询运行之前查找
提示 IBM® Engineering Workflow Management 用户和某些文本输入的查询。$user 解析的所有包含特定 $text 的案例
示例 5:根据解决者和全文本属性运行参数化查询

您并不需要为所有参数变量都提供值。 如果您没有为某个条件提供值,那么会忽略该条件,并且查询在没有该条件的情况下运行,就像您从查询编辑器运行查询一样。
- 由我创建并且严重性为 $Severity 且优先级为 $Priority 的项...
- 由 $Team 在 $DateRange 期间解决的项...
- 带有标记 $Tag 的已打开的 SCM 工作项...
- 所有由 $User 解决的项...
- 严重性为 $Severity、优先级为 $Priority 并且类型为 $Type 的所有已打开的仪表板窗口小部件工作项...
Engineering Workflow Management 在用户界面中参数化查询的名称后追加省略号 (...) ,以指示您需要在查询运行之前提供进一步的输入。
“未分配”值
某些工作项属性可以为空或者具有未分配值,该值不是属性的可配置值集的一部分。 未分配复选框位于属性的变量区域中,它允许查询此空值。 您可以在所有者和计划目标属性中找到未分配值的示例。 通过选择未分配值,您可以创建查询来查找未设置所有者或者没有为迭代进行计划的工作项。
示例 6:所有者和计划目标属性中的未分配值


属性组(仅限于 Eclipse 客户机)
您可以使用属性组控件来为一组类型相同的属性指定条件,而不必分别添加这些属性以及不必为每个属性选择相同的值。 用户和时间戳记属性存在属性组。 请使用 OR 来连接各个属性条件。
示例 7:用户属性的属性组

在此示例中, 用户 属性条件设置为查找 由当前已认证的用户创建,修改,拥有或解析的工作项
。