共用方式為


依日期或目前迭代查詢

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

在本文中,瞭解如何根據工作專案建立、關閉、解析或變更的時間來列出工作專案。 您可以指定日期或使用支援的巨集。 使用 巨集, @Today 並指定相對日期的加號或減號天數。 如需根據工作專案指派給小組目前短期衝刺的查詢,請使用 @CurrentIteration

例如,尋找過去三天內使用下列查詢修改的工作專案。

顯示 查詢編輯器 顯示 [已變更日期] 字段設定為 >= 3 的螢幕快照。

此外,您也可以使用 CurrentIteration +/- _n_ 巨集,根據小組反覆專案的滑動視窗來建立查詢。

先決條件

  • 存取層級:
    • 若要檢視及執行共享查詢,必須成為 項目成員
    • 若要新增和儲存共享查詢,至少需要 基本 存取權限。
  • 許可權:參與 許可權設定為 您要新增查詢的資料夾允許。 根據預設,參與者 群組沒有此許可權。

注意

具有 項目關係人 公用專案存取權的使用者,可以完整存取查詢功能,就像具有 Basic 存取權的使用者一樣。 如需詳細資訊,請參閱 項目關係人存取快速參考

  • 存取層級:
    • 若要檢視及執行共享查詢,您必須是 項目的成員
    • 若要新增並儲存共享查詢,您至少需要 基本 存取權。
  • 許可權:參與 許可權設定為 允許新增查詢的資料夾。 根據預設,參與者 群組沒有此許可權。

支援的運算子和巨集

指定 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
巨集:具有 [反復項目路徑@CurrentIteration@CurrentIteration +/- n 有效。


注意:

  1. @StartOfDayAzure DevOps Server 2019.1 和更新版本支援 、 @StartOfWeek@StartOfMonth@StartOfYear 巨集。 只有在從入口網站執行時,才支持它們。
  2. Azure DevOps Server 2019 和更新版本支援 @CurrentIteration +/- n 巨集,並且僅在從網頁入口網站執行時支援。

提示

運算子 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天內建立的專案。

此螢幕快照顯示過去 30 天內建立之專案的 查詢編輯器 子句。


在特定日期修改的專案。

此螢幕快照顯示尋找特定日期變更之專案的 查詢編輯器 子句。


今天已解決的專案。

此螢幕快照顯示尋找今天解決之專案的 查詢編輯器 子句。


在指定的時段內關閉的專案。

顯示 查詢編輯器 子句的螢幕快照,用於尋找在指定時段內關閉的專案。


未關閉的專案。 關閉日期為 Null。

顯示 查詢編輯器 子句的螢幕快照,用於尋找關閉日期為空白或 Null 的專案。


在上周更新狀態的專案。

顯示上周更新狀態之專案的 查詢編輯器 子句螢幕快照。


在目前短期衝刺期間關閉的專案。 <xref href="CurrentIteration" data-throw-if-not-resolved="False" data-raw-source="@CurrentIteration"></xref>巨集是指針對目前小組內容定義的短期衝刺。

此螢幕快照顯示目前短期衝刺期間關閉之專案的 查詢編輯器 子句。


建立以日期、星期、月或年為基礎的查詢開始

下列範例示範如何使用 StartOf... 巨集來篩選具有各種位移的工作專案。 如需詳細資訊,請參閱 工作專案查詢語言 (WIQL) 語法

注意

需要 Azure DevOps Server 2019 Update 1 或更新版本。

篩選

包含這些查詢子句


在過去兩周內關閉的 Bug。

此螢幕快照顯示過去兩周關閉尋找已關閉 Bug 的 查詢編輯器 子句。


過去10天內修改的專案。

此螢幕快照顯示過去 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如果巨集無法運作,請檢查是否已為您的小組選取預期的反覆專案,併為其設定該日期。 如需詳細資訊,請參閱 選取小組短期衝刺

若要變更系統自動設定的team參數,請在@CurrentIteration巨集下方新增的參數位段中輸入小組名稱,以選擇它。

顯示選擇小組參數的螢幕快照。

建立小組反覆項目查詢的滑動視窗

@CurrentIteration +/- n當您想要追蹤小組計劃進行短期衝刺的工作,以及瞭解先前短期衝刺中未完成的工作時,請使用 巨集。

注意

@CurrentIteration +/- n若要讓巨集能夠運作,小組必須已選取符合準則的+/- n反覆項目路徑。 日期範圍必須包含 的 @CurrentIteration目前日期。 如需反覆專案路徑小組選取的詳細資訊,請參閱 選取小組短期衝刺和設定預設反覆項目路徑

請參閱 Client restrictions on the use of the @CurrentIteration macros 本文稍早的。

下圖顯示如何列出指派給滑動視窗的所有用戶劇本和 Bug 工作項目類型。 視窗跨越最後兩個,目前,以及下一個針對 Cloud Admin and Tools 小組選取的兩個短期衝刺。

顯示 CurrentIteration 加減子句的螢幕快照。

若要使用此巨集,指定的小組必須+/- n

列出從短期衝刺移出的工作專案

列出針對短期衝刺定義的工作專案,但稍後使用查詢搭配包含 [反復項目路徑Was Ever子句來移出。 您只能使用 WIQL 語法來建構此查詢。 藉由安裝 WIQL 編輯器 Marketplace 延伸模組,在 查詢編輯器 中編輯 WIQL 語法。

例如,下列工作項目的語法查詢符合下列準則:

  • 定義於目前專案中。
  • 工作項目類型等於用戶劇本或 Bug。
  • 工作項目位於 Fabrikam Fiber Web 小組區域路徑底下。
  • 工作專案不是處於 ClosedCompletedCutResolved 狀態。
  • 不在 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)

建立工作專案的日期和時間,或工作項目的狀態從 ClosedCompletedDone 變更為 NewActive 狀態時。

參考名稱=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、功能

注意:

  1. 請參閱依指派或工作流程變更查詢。

  2. 若要為工作項目類型定義這些欄位,則必須包含在 WORKFLOW 工作專案類型定義的 區段中。 例如,轉換至FIELDS狀態時,此語法會包含在定義中Resolved

    <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
       <SERVERDEFAULT from="clock"  />  
    </FIELD >  
    
  3. 如果您在 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 的替代方案包括:

REST API

若要以程式設計方式與查詢互動,請參閱下列其中一個 REST API 資源: