依日期或目前迭代查詢
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
在本文中,瞭解如何根據工作專案建立、關閉、解析或變更的時間來列出工作專案。 您可以使用支援的巨集或指定日期。 使用 @Today
巨集並指定相對日期的加或減的天數。 如需查詢將工作專案根據指派給團隊目前迭代的方式列出,請使用 @CurrentIteration
。
例如,使用下列查詢尋找在過去三天內被修改的工作專案。
此外,您也可以使用 CurrentIteration +/- _n_
巨集,根據團隊迭代的滑動視窗來建立查詢。
先決條件
類別 | 要求 |
---|---|
存取層級 | - 若要檢視及執行共享查詢:專案成員。 - 若要新增和儲存共用查詢:至少需有 基本 權限。 |
許可權 | 必須將您要新增查詢的資料夾的 權限設定為 允許。 根據預設,參與者 群組沒有此許可權。 |
注意
具有 項目關係人 公用專案存取權的使用者,可以完整存取查詢功能,就像具有 Basic 存取權的使用者一樣。 如需詳細資訊,請參閱 項目關係人存取快速參考。
類別 | 要求 |
---|---|
存取層級 | - 若要檢視及執行共享查詢:專案成員。 - 若要新增和儲存共用查詢:至少需要 基本 存取。 |
許可權 | 必須將您要新增查詢的資料夾的 權限設定為 允許。 根據預設,參與者 群組沒有此許可權。 |
支援的運算子和巨集
指定 DateTime 欄位或 迭代路徑 欄位的查詢子句可以使用下表所列的運算子和巨集。
資料類型
支援的運算子和巨集
日期時間
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
巨集:@StartOfDay
、@StartOfWeek
、@StartOfMonth
、@StartOfYear
和@Today
。
您可以搭配每個支援的巨集使用 +/- _n_
。
TreePath
=、<>、之下、不在之下
巨集:@CurrentIteration
1 和 @CurrentIteration +/- n
2 對 反覆項目路徑 欄位有效。
注意:
-
@StartOfDay
、@StartOfWeek
、@StartOfMonth
和@StartOfYear
巨集適用於 Azure DevOps Server 2019.1 和更新版本。 只有在從網頁入口執行時才會支援它們。 - Azure DevOps Server 2019 和更新版本支援
@CurrentIteration +/- n
巨集,並且僅在從網頁入口網站執行時支援。
提示
運算子 WasEver
可以搭配 [反復項目路徑 ] 字段使用,但只有在透過WIQL語法定義時才使用。 如需範例,請參閱 工作專案查詢語言 (WIQL) 語法參考。
日期和時間模式
您針對 DateTime 字段輸入的日期和時間模式應該符合您透過設定檔選取的日期與時間模式。 若要檢視或變更您的選取範圍,請參閱 設定用戶喜好設定。
用於 @CurrentIteration 巨集的客户端限制
您可以在下列客戶端的查詢中使用 @CurrentIteration
巨集:
- 連接至 Azure Boards 的網頁入口
- 連線至 Azure Boards 的 Visual Studio 2019 或更新版本
- REST API
您可以在針對 Azure Boards、Azure DevOps Server 2019 和更新版本的查詢中使用 @CurrentIteration +/- n
巨集,以及在包含小組作為參數的 REST API 中使用。 例如 @CurrentIteration('[Project]\Team')
。
如果您在舊版 Visual Studio 中開啟包含 @CurrentIteration
巨集的查詢,或是從 Microsoft Excel 或 Microsoft Project 開啟包含 @CurrentIteration
巨集的查詢,就會發生錯誤。 此外,您不能在複製或克隆測試套件和測試案例、定義警示或使用REST API時使用巨集。
以日期為基礎的查詢
依工作項目變更日期或特定時段篩選工作專案。 限制查詢的範圍。 此方法只會傳回符合您包含日期範圍的結果,以協助效能。 如果您不熟悉建立查詢,請參閱 定義工作項目查詢。
並非所有欄位都適用於所有工作項目類型。 跳至日期欄位,查看您可以在查詢中包含的欄位集合以及適用的工作項目類型。
提示
- 請記得在您為個人設定檔設定的 [日期模式] 欄位中輸入日期。
- 若要瞭解子句的分組方式
AND/OR
,請參閱 Group 子句。 若要檢視查詢的WIQL語法,請安裝WIQL編輯器延伸模組,這可讓您查看任何 查詢編輯器專案的WIQL版本。
篩選
包含這些查詢子句
過去30天內建立的專案。
此螢幕快照顯示用於查找最近 30 天內建立項目的查詢編輯器條件。
在特定日期修改的項目。
今天已解決的專案。
此螢幕快照顯示「查詢編輯器」中的子句,用於尋找今天解決的專案。
在指定的時段內關閉的專案。
未關閉的項目。 關閉日期為 Null。
在過去一週內更新狀態的項目。
在目前衝刺期間完成的項目。
<xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref>
巨集指的是針對目前團隊範疇所定義的短期衝刺。
建立從日期、星期、月或年開始的查詢規則。
下列範例示範如何使用 StartOf...
巨集來篩選具有各種位移的工作專案。 如需詳細資訊,請參閱 工作專案查詢語言 (WIQL) 語法。
篩選條件
包含這些查詢子句
在過去兩周內關閉的 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
巨集無法運作,請檢查是否已為您的小組選取預期的迭代,並確保已為其設定日期。 如需詳細資訊,請參閱 選擇團隊衝刺。
若要變更系統自動設定的團隊參數,請在@CurrentIteration巨集下方新增的參數欄位中輸入團隊名稱以選擇該參數。
為您的團隊建立迭代查詢的滑動窗口
請使用 @CurrentIteration +/- n
巨集,以追蹤小組計劃的未來短期衝刺工作,以及瞭解前幾次短期衝刺中未完成的工作。
注意
@CurrentIteration +/- n
若要讓巨集能夠運作,團隊必須選擇符合+/- n
準則的反覆項目路徑。 日期範圍必須包含@CurrentIteration
的目前日期。 如需有關選擇迭代路徑團隊的詳細資訊,請參閱 選取短衝刺小組及設置預設的迭代路徑。
請參閱本文前面的Client restrictions on the use of the @CurrentIteration macros。
下圖顯示如何列出指派給滑動視窗的所有用戶劇本和 Bug 工作項目類型。 視窗跨越最後兩個衝刺、目前的衝刺,以及 Cloud Admin 和工具團隊選定的接下來兩個衝刺。
若要使用此巨集,指定的小組必須選擇一組跨越宏輸入值的短衝。
列出從短期衝刺移出的工作專案
列出在某個短期衝刺中定義的工作項目,並使用包含「迭代路徑」欄位運算子的查詢子句將其移出。 您只能使用 WIQL 語法來建構此查詢。 藉由安裝 WIQL 編輯器 Marketplace 延伸模組,在 查詢編輯器 中編輯 WIQL 語法。
例如,下列工作項目的語法查詢符合下列準則:
- 定義於目前專案中。
- 工作項目類型等於使用者故事或錯誤。
- 工作項目位於 Fabrikam Fiber Web 小組區域路徑底下。
- 工作專案不是處於
Closed
、Completed
、Cut
或Resolved
狀態。 - 不在 Fabrikam Fiber Web 團隊目前的迭代路徑中。
- 已被指派到 Fabrikam Fiber Web 團隊當前的迭代路徑。
- 現在已被指派至 Fabrikam Fiber Web 小組的下一個迭代。
- 在過去 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
工作專案類型定義的 區段中。 例如,當轉換至FIELDS
狀態時,此語法會包含在Resolved
定義中。<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 資源: