在 Azure Boards 中依日期或目前反覆項目查詢
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
在本文中,瞭解如何根據工作專案建立、關閉、解析或變更的時間來列出工作專案。 您可以指定日期或使用支援的巨集。 使用 巨集, @Today
並指定相對日期的加號或減號天數。 如需根據工作專案指派給小組目前短期衝刺的查詢,請使用 @CurrentIteration
。
例如,尋找過去三天內使用下列查詢修改的工作專案。
此外,您也可以使用 CurrentIteration +/- _n_
巨集,根據小組反覆專案的滑動視窗來建立查詢。
支援的運算子和巨集
指定 DateTime 欄位或 反覆項目路徑 欄位的查詢子句可以使用下表所列的運算子和巨集。
Data type
支援的運算子和巨集
Datetime
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
巨集:@StartOfDay
、@StartOfWeek
、@StartOfMonth
、 @StartOfYear
和 @Today
。
您可以搭配每個支援的巨集使用 +/- _n_
。
TreePath
=、、 <>Under、Not Under
巨集:具有 [反復項目路徑] 字段的 1 和@CurrentIteration +/- n
2 有效。 @CurrentIteration
注意:
@StartOfDay
Azure DevOps Server 2019.1 和更新版本支援 、@StartOfWeek
@StartOfMonth
和@StartOfYear
巨集。 只有在從入口網站執行時,才支持它們。@CurrentIteration +/- n
Azure DevOps Server 2019 和更新版本支援巨集。 只有在從入口網站執行時才支援。
提示
運算子 WasEver
可以搭配 [反復項目路徑 ] 字段使用,但只有在透過WIQL語法定義時才使用。 如需範例,請參閱 工作專案查詢語言 (WIQL) 語法參考。
日期和時間模式
您針對 DateTime 字段輸入的日期和時間模式應該符合您透過設定檔選取的日期與時間模式。 若要檢視或變更您的選取範圍,請參閱 設定用戶喜好設定。
使用巨集的 @CurrentIteration 用戶端限制
您可以從 @CurrentIteration
下列客戶端在查詢中使用 巨集:
- 聯機至 Azure Boards 的入口網站
- 連線至 Azure Boards 的 Visual Studio 2019 或更新版本
- REST API
您可以在查詢中針對 @CurrentIteration +/- n
Azure Boards、Azure DevOps Server 2019 和更新版本使用巨集,以及包含小組作為參數的 REST API。 例如 @CurrentIteration('[Project]\Team')
。
如果您在舊版 Visual Studio 中開啟包含 @CurrentIteration
巨集的查詢,或是從 Microsoft excel 或 Microsoft Project 開啟包含巨集的查詢,就會發生錯誤。 此外,您無法在複製或複製測試套件和測試案例、定義警示或使用 REST API 時使用巨集。
以日期為基礎的查詢
依工作項目變更日期或特定時段篩選工作專案。 限制查詢的範圍。 此方法只會傳回符合您包含日期範圍的結果,以協助效能。 如果您不熟悉建立查詢,請參閱 定義工作項目查詢。
並非所有欄位都適用於所有工作項目類型。 您可以加入查詢和套用工作項目類型之欄位集合的日期欄位。
提示
- 請記得在您為個人設定檔設定的 [日期模式] 欄位中輸入日期。
- 若要瞭解子句的分組方式
AND/OR
,請參閱 Group 子句。 若要檢視查詢的WIQL語法,請安裝WIQL編輯器延伸模組,這可讓您查看任何 查詢編輯器專案的WIQL版本。
篩選
包含這些查詢子句
過去30天內建立的專案。
在特定日期修改的專案。
今天已解決的專案。
在指定的時段內關閉的專案。
未關閉的專案。 關閉日期為 Null。
在上周更新狀態的專案。
在目前短期衝刺期間關閉的專案。 <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref>
巨集是指針對目前小組內容定義的短期衝刺。
建立以日期、星期、月或年為基礎的查詢開始
下列範例示範如何使用 StartOf...
巨集來篩選具有各種位移的工作專案。 如需詳細資訊,請參閱 工作專案查詢語言 (WIQL) 語法。
注意
需要 Azure DevOps Server 2019 Update 1 或更新版本。
篩選
包含這些查詢子句
在過去兩周內關閉的 Bug。
過去10天內修改的專案。
計劃在未來三個月內完成的功能。
並非所有欄位都適用於所有工作項目類型。 您可以加入查詢和套用工作項目類型之欄位集合的日期欄位。
為小組目前的反覆專案建立查詢
如果您的小組遵循 Scrum 程式,您可以排程短期衝刺中完成的工作。 您可以使用 巨集,追蹤在目前短期衝刺 @CurrentIteration
中完成的需求、Bug 和其他工作進度。 如需詳細資訊,請參閱 管理短期衝刺時程表。
查詢會尋找指派給短期衝刺的任何專案,該短期衝刺對應至小組目前的反覆項目路徑。 例如,如果小組在Sprint 5上,查詢會傳回指派給Sprint 5的專案。 稍後,當小組在Sprint 6 中工作時,相同的查詢會傳回指派給Sprint 6的專案。
注意
若要讓 @CurrentIteration
巨集能夠運作,小組必須已選取包含目前日期的反覆項目路徑。 如需詳細資訊,請參閱 選取小組短期衝刺並設定預設反覆項目路徑。 此外,只有在從入口網站執行時,包含此巨集的查詢才有效。
請參閱 Client restrictions on the use of the @CurrentIteration macros 本文稍早的。
當您選取@CurrentIteration或@CurrentIteration +/- n 巨集時,Azure Boards 會新增小組參數。 team 參數衍生自您目前的 小組內容。
提示
@CurrentIteration
如果巨集無法運作,請檢查是否已為您的小組選取預期的反覆專案,併為其設定該日期。 如需詳細資訊,請參閱 選取小組短期衝刺。
若要變更系統自動設定的team參數,請在@CurrentIteration巨集下方新增的參數位段中輸入小組名稱,以選擇它。
建立小組反覆項目查詢的滑動視窗
@CurrentIteration +/- n
當您想要追蹤小組計劃進行短期衝刺的工作,以及瞭解先前短期衝刺中未完成的工作時,請使用 巨集。
注意
@CurrentIteration +/- n
若要讓巨集能夠運作,小組必須已選取符合準則的+/- n
反覆項目路徑。 日期範圍必須包含 的 @CurrentIteration
目前日期。 如需反覆專案路徑小組選取的詳細資訊,請參閱 選取小組短期衝刺和設定預設反覆項目路徑。
請參閱 Client restrictions on the use of the @CurrentIteration macros 本文稍早的。
下圖顯示如何列出指派給滑動視窗的所有用戶劇本和 Bug 工作項目類型。 視窗跨越最後兩個,目前,以及下一個針對 Cloud Admin and Tools 小組選取的兩個短期衝刺。
若要使用此巨集,指定的小組必須選取一組跨越+/- n
巨集所輸入值的短期衝刺。
列出從短期衝刺移出的工作專案
列出針對短期衝刺定義的工作專案,但稍後使用查詢搭配包含 [反復項目路徑] 欄位運算子的 子句Was Ever
來移出。 您只能使用 WIQL 語法來建構此查詢。 藉由安裝 WIQL 編輯器 Marketplace 擴充功能,在 查詢編輯器 中編輯 WIQL 語法。
例如,下列工作項目的語法查詢符合下列準則:
- 定義於目前專案中。
- 工作項目類型等於用戶劇本或 Bug。
- 工作項目位於 Fabrikam Fiber Web 小組區域路徑底下。
- 工作專案不是處於
Closed
、Completed
、Cut
或Resolved
狀態。 - 不在 Fabrikam Fiber Web 小組目前的反覆項目路徑中。
- 已指派給 Fabrikam Fiber Web 小組目前的反覆項目路徑。
- 現在已指派給 Fabrikam Fiber Web 小組目前的反覆專案 +1。
- 在過去 30 天內有所變更(短期衝刺的長度)。
SELECT
[System.Id],
[System.WorkItemType],
[System.AssignedTo],
[System.Title],
[System.State],
[System.Tags],
[System.IterationPath],
[System.AreaPath]
FROM workitems
WHERE
[System.TeamProject] = @project
AND [System.WorkItemType] IN ('User Story', 'Bug')
AND [System.AreaPath] UNDER 'FabrikamFiber\Web'
AND NOT [System.State] IN ('Completed', 'Closed', 'Cut', 'Resolved')
AND NOT [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
AND (
EVER (
[System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>')
)
AND [System.IterationPath] = @currentIteration('[FabrikamFiber]\Web <id:cdf5e823-1179-4503-9fb1-a45e2c1bc6d4>') + 1
AND [System.ChangedDate] >= @today - 30
)
ORDER BY [System.Id]
語法的 查詢編輯器 檢視隨即出現,如下所示。
注意
查詢編輯器 會顯示運算符旁Was Ever
的信息圖示,指出 子句的問題。 不過,查詢仍會執行,而且您可以建立查詢圖表。 若要修改查詢,您必須使用WIQL編輯器。
列出開始日期之後新增至短期衝刺的工作專案
若要列出在開始日期之後新增至短期衝刺的新建立工作專案,請使用類似下圖所示的查詢。 此查詢的運作方式是篩選指派給目前短期衝刺的工作專案,但在短期衝刺日期開始之後建立。 使用 子句 created Date = @Today - 28
。
如需查詢短期衝刺範圍變更的其他選項,請參閱 短期衝刺範圍變更。
日期和反覆項目路徑欄位
使用 [日期] 欄位來篩選您的查詢。 其中有些欄位會填入資訊,因為工作專案會從某個狀態進行到另一個狀態。 其中數個字段不會出現在工作項目窗體上,但會針對下表所列的工作專案類型進行追蹤。
欄位名稱
說明
工作項目類型
啟動日期 (附註 1 和 2)
建立工作專案的日期和時間,或工作項目的狀態從 Closed
、 Completed
或 Done
變更為 New
或 Active
狀態時。
參考名稱=Microsoft.VSTS.Common.ActivatedDate,數據類型=DateTime
Bug, 變更要求, Epic, 功能, 問題, 產品待辦專案, 需求, 檢閱, 風險, 共用步驟, 工作, 測試案例, 使用者劇本
變更日期
修改工作專案的日期和時間。
參考名稱=System.ChangedDate,數據類型=DateTime
全部
關閉日期(附註 2)
關閉工作專案的日期和時間。
參考名稱=Microsoft.VSTS.Common.ClosedDate,數據類型=DateTime
全部
建立日期
建立工作專案的日期和時間。
參考名稱=System.CreatedDate, 數據類型=DateTime
全部
到期日
要解決問題的預測到期日。
參考名稱=Microsoft.VSTS.排程.DueDate,數據類型=DateTime
問題(敏捷式)
完成日期(附註 3)
排程指出工作已完成的日期和時間。
參考名稱=Microsoft.VSTS.Scheduling.FinishDate,數據類型=DateTime
需求、工作、測試計劃、用戶劇本
反覆項目路徑
依具名短期衝刺或時段將工作專案分組。 反覆項目必須是項目階層中的有效節點。 您可以 定義專案的反覆項目路徑,並選取小組的反覆項目路徑。
參考名稱=System.IterationPath,數據類型=TreePath
全部
解決日期 (附註 1 和 2)
工作項目移至 Resolved
狀態的日期和時間。
參考名稱=Microsoft.VSTS.Common.ResolvedDate,數據類型=DateTime
Bug, 變更要求, Epic, 功能, 問題, 產品待辦專案, 需求, 檢閱, 風險, 共用步驟, 工作, 測試案例, 使用者劇本
開始日期(附註 3)
排程指出工作開始的日期和時間。
注意
傳遞計劃 會使用 [ 開始日期 ] 和 [目標日期] 字段來顯示功能、Epic 和其他組合待辦專案範圍。
參考名稱=Microsoft.VSTS.Scheduling.StartDate,數據類型=DateTime
Epic、功能、需求、工作、測試計劃、用戶劇本
狀態變更日期
State 欄位值變更的日期和時間。
參考名稱=Microsoft.VSTS.Common.StateChangeDate,數據類型=DateTime
全部
目標日期
功能、工作專案或問題要完成或解決的日期。
注意
傳遞計劃 會使用 [ 開始日期 ] 和 [目標日期] 字段來顯示功能、Epic 和其他組合待辦專案範圍。
參考名稱=Microsoft.VSTS.排程.TargetDate,數據類型=DateTime
Epic、功能
注意:
另 請參閱依指派或工作流程變更查詢。
若要為工作項目類型定義這些欄位,則必須包含在
WORKFLOW
工作專案類型定義的 區段中。 例如,轉換至Resolved
狀態時,此語法會包含在定義中FIELDS
。<FIELD refname="Microsoft.VSTS.Common.ResolvedDate" /> <SERVERDEFAULT from="clock" /> </FIELD >
如果您在 Project 中建立專案計劃,然後將該計劃與儲存在 Azure Boards 中的工作同步處理,則會計算開始日期 和 完成日期 值。 這些欄位可能不會出現在工作項目表單上,但會針對連結至待辦專案的專案和工作進行計算。 您可以在查詢或 Excel 的結果中檢視其唯讀值。
重要
Microsoft Project Integration 和
TFSFieldMapping
命令不支援:- Visual Studio 2019 和 Azure DevOps Office Integration 2019。
- Azure DevOps Server 2019 和更新版本,包括 Azure DevOps Services。
維護Microsoft Excel整合的完整支援,允許大容量導入和更新工作專案。 使用 Microsoft Project 的替代方案包括:
- 傳遞計劃
- Marketplace 延伸模組,例如 Project Connect 或 GANTT 圖表
相關文章
- 依指派或工作流程變更進行查詢
- 定義反覆專案 (短期衝刺) 路徑,並設定小組反覆專案
- 在 Azure Boards 中定義工作項目查詢
- 查詢欄位、運算子和巨集
- 工作專案欄位和屬性
- 工作專案查詢語言 (WIQL) 語法
REST API
若要以程式設計方式與查詢互動,請參閱下列其中一個 REST API 資源: