依日期或目前反復專案查詢Azure Boards

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

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

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

查詢編輯器、已變更日期 > = 3 的螢幕擷取畫面。

查詢編輯器的螢幕擷取畫面,根據最近的變更進行篩選。

此外,您也可以使用 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
@CurrentIteration 具有 [反復專案路徑] 欄位的2@CurrentIteration +/- n3有效。


DateTime

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
@Today ,您可以使用 +/- n 整數指定。


TreePath

=<>UnderNot Under@CurrentIteration2在 [反復專案路徑] 欄位中有效


注意:

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

提示

WasEver運算子可以搭配 [反復專案路徑] 欄位使用,但只有在透過 WIQL 語法定義時才使用。 如需範例,請參閱 工作專案查詢語言 (WIQL) 語法參考

日期和時間模式

您為 DateTime 欄位輸入的日期和時間模式應該符合您透過設定檔選取的日期和時間模式。 若要檢視或變更您的選取範圍,請參閱 設定使用者喜好設定、時間和地區設定。

Time and Locale page, Date pattern optionsTime and Locale page, Time pattern options

時間和地區設定頁面、日期模式選項

使用宏的 @CurrentIteration 用戶端限制

您可以從 @CurrentIteration 下列用戶端在查詢中使用宏:

  • 連線至 Azure Boards 的入口網站
  • 連線至 Azure Boards 的 Visual Studio 2019 或更新版本
  • 使用 REST API。

您可以在 @CurrentIteration +/- n 查詢中針對Azure Boards、Azure DevOps Server 2019 和更新版本使用宏,以及包含小組作為參數的 REST API,例如 。 @CurrentIteration('[Project]/Team')

如果您開啟包含 @CurrentIteration 舊版 Visual Studio 中宏的查詢,或從 Excel 或 Project 開啟包含宏的查詢,就會發生錯誤。 此外,您無法在 複製或複製測試套件和測試案例定義警示或使用 REST API時使用宏。

以日期為基礎的查詢

您可以依變更日期或特定時間週期來篩選工作項目。 限制查詢的範圍,只傳回符合您包含日期範圍的結果,以協助達到效能。 如果您不熟悉建立查詢,請參閱 使用查詢編輯器列出和管理查詢

並非所有欄位對所有工作專案類型都有效。 跳至一組欄位 的日期欄位 ,您可以在查詢中包含哪些工作專案類型。

提示

請記得在您為個人設定檔設定的日期模式中輸入日期。


篩選

包含這些查詢子句


過去 30 天內建立的專案

查詢編輯器的螢幕擷取畫面,用於尋找過去 30 天內建立的專案子句。


在特定日期修改的專案

查詢編輯器的螢幕擷取畫面,用於尋找特定日期變更的專案子句。


今天已解決的專案

查詢編輯器的螢幕擷取畫面:子句,用於尋找今天已解決的專案。


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

查詢編輯器的螢幕擷取畫面:子句,用於尋找在指定時段內關閉的專案。


尚未關閉 (關閉日期的專案為 null)

查詢編輯器的螢幕擷取畫面:子句,用於尋找關閉日期為空白或 Null 的專案。


在上周更新其狀態的專案

查詢編輯器的螢幕擷取畫面:子句,顯示在過去一周內更新其狀態的專案。


在目前短期衝刺期間關閉的專案 (@CurrentIteration 宏會參考針對目前小組內容定義的短期衝刺)

查詢編輯器的螢幕擷取畫面:目前短期衝刺期間關閉專案的子句。


提示

若要瞭解子句的分組方式 AND/OR ,請參閱 建立及儲存 Managed 查詢、Group 子句。 若要檢視查詢的 WIQL 語法,請安裝 WIQL 查詢編輯器延伸模組 ,可讓您查看任何查詢編輯器專案的 WIQL 版本。

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

下列範例示範如何使用 StartOf... 宏來篩選具有各種位移的工作專案。 如需使用這些宏的更多範例,請參閱 WIQL 語法

注意

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

篩選

包含這些查詢子句


過去兩周內關閉的 Bug

查詢編輯器的螢幕擷取畫面:用來尋找過去兩周內已關閉 Bug 的子句。


過去 10 天內修改的專案

查詢編輯器的螢幕擷取畫面,用於尋找過去 10 天內變更的專案子句。


在未來三個月內排定完成的功能

未來 3 個月內排程完成之功能的子句。


並非所有欄位對所有工作專案類型都有效。 跳至一組欄位 的日期欄位 ,您可以在查詢中包含哪些工作專案類型。

建立小組目前反復專案的查詢

如果您的小組遵循 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 參數。 Team 參數衍生自您目前的 小組內容

使用 CurrentIteration 宏搭配 team 參數的查詢篩選

提示

如果 @CurrentIteration 宏無法運作,請檢查 是否已為您的小組選取預期的反復專案,並已為其設定日期

若要變更系統自動設定的 team 參數,您可以在 @CurrentIteration 宏下方新增的參數欄位中輸入小組名稱來選擇它。

選擇小組參數

建立或更新查詢以使用 @CurrentIteration 宏之前,請確定您 選取您的小組@CurrentIteration宏會參考入口網站中選取的目前小組。

使用 CurrentIteration 宏的查詢篩選

建立小組反復專案查詢的滑動視窗

當您想要追蹤小組計畫即將推出的短期衝刺工作,以及瞭解先前短期衝刺中未完成的工作時,請使用@CurrentIteration +/- n宏。

注意

若要讓@CurrentIteration +/- n宏能夠運作,小組必須選取符合+/- n準則和日期範圍的反復專案路徑,其中包含@CurrentIteration的目前日期。 如需反復專案路徑的小組選取詳細資料,請參閱 定義反復專案 (短期衝刺) 路徑和設定小組反復專案

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

在這裡,我們會示範如何列出指派給滑動視窗的所有使用者劇本和 Bug,這些視窗橫跨最後兩個、目前,以及針對Cloud 管理員 和 Tools小組選取的下兩個短期衝刺。

CurrentIteration 加號和減號子句

若要使用此宏,指定的小組必須已選取一組短期衝刺,以跨越+/- 為宏輸入的 n值。

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

您可以列出針對短期衝刺定義的工作專案,但稍後使用查詢與包含反復專案路徑Was Ever運算子的 子句移出。 您只能使用 WIQL 語法來建構此查詢。 您可以藉由安裝Wiql 編輯器 Marketplace 擴充功能,在查詢編輯器中編輯 WIQL 語法。

例如,下列語法會查詢符合下列準則的工作專案:

  1. 定義于目前專案中
  2. 工作專案類型等於使用者劇本或 Bug
  3. 工作專案位於 Fabrikam Fiber Web 小組區域路徑下
  4. 工作專案不是處於 [已關閉]、[已完成]、[剪下] 或 [已解決] 狀態
  5. 不在 Fabrikam Fiber Web 小組目前的反復專案路徑中
  6. 但已指派給 Fabrikam Fiber Web 小組目前的反復專案路徑
  7. 現在已指派給 Fabrikam Fiber Web 小組的目前反復專案 +1
  8. 過去 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 編輯器

已移出短期衝刺查詢編輯器工作專案的螢幕擷取畫面。

列出開始日期之後新增至短期衝刺的工作專案

若要列出在開始日期之後新增至短期衝刺中新建立的工作專案,請使用類似下圖所示的查詢。 此查詢的運作方式是篩選指派給目前短期衝刺的工作專案,但在短期衝刺日期開始之後建立。 在此範例中,這是使用 建立 Date = @Today - 28的 子句來達成。

查詢編輯器、新建立的工作專案,並在開始日期之後新增至短期衝刺的螢幕擷取畫面。

如需查詢短期衝刺範圍變更的其他選項,請參閱 關於短期衝刺、Scrum 和專案管理、短期衝刺範圍變更

日期和反復專案路徑欄位

您可以使用日期欄位來篩選查詢。 其中有些欄位會填入資訊,因為工作專案會從一個狀態進展到另一個狀態。 其中數個欄位不會出現在工作專案表單上,但會追蹤下表所列的工作專案類型。

欄位名稱

說明

工作專案類型


啟動日期 (附注 1 和 2)

工作項目建立的日期和時間,或是狀態從關閉、結束或完成狀態變更為新增或使用中狀態的時間。
參考名稱=Microsoft.VSTS.Common.ActivatedDate, 資料類型=DateTime

錯誤、變更要求、Epic、功能、問題、產品待辦專案、需求、檢閱、風險、共用步驟、工作、測試案例、使用者劇本

變更日期

修改工作專案的日期和時間。
參考名稱=System.ChangedDate, 資料類型=DateTime

全部

關閉日期 (附注 2)

工作項目關閉的日期和時間。
參考名稱=Microsoft.VSTS.Common.ClosedDate, 資料類型=DateTime

全部

建立日期

工作項目建立的日期和時間。
參考名稱=System.CreatedDate, 資料類型=DateTime

全部

Due Date

要解決問題的預測到期日。
參考名稱=Microsoft.VSTS.Scheduling.DueDate, 資料類型=DateTime

問題 (Agile)

完成日期 (附注 3)

排程表示工作會完成的日期和時間。
參考名稱=Microsoft.VSTS.Scheduling.FinishDate, 資料類型=DateTime

需求、工作、測試計劃、使用者案例

反覆項目路徑

將工作項目依具名的短期衝刺或時間週期分組。 反覆項目必須是專案階層架構中的有效節點。 您可以 定義專案的反復專案路徑,並選取小組的反復專案路徑 定義專案的反復專案路徑,並選取小組的反復專案路徑。
參考名稱=System.IterationPath,資料類型=TreePath

全部

解決日期 (附注 1 和 2)

將工作專案移至已解決狀態的日期和時間。
參考名稱=Microsoft.VSTS.Common.ResolvedDate, 資料類型=DateTime

錯誤、變更要求、Epic、功能、問題、產品待辦專案、需求、檢閱、風險、共用步驟、工作、測試案例、使用者劇本

開始日期 (附注 3)

排程表示工作會開始的日期和時間。

注意

傳遞計畫 會使用 開始日期目標日期 來顯示功能、Epic 和其他組合待辦專案範圍。

參考名稱=Microsoft.VSTS.Scheduling.StartDate, 資料類型=DateTime

Epic、功能、需求、工作、測試計劃、使用者劇本

狀態變更日期

狀態欄位值的變更日期和時間。
參考名稱=Microsoft.VSTS.Common.StateChangeDate, 資料類型=DateTime

全部

目標日期

功能、工作專案或問題的完成或解決日期。

注意

傳遞計畫 會使用 開始日期目標日期 來顯示功能、Epic 和其他組合待辦專案範圍。

參考名稱=Microsoft.VSTS.Scheduling.TargetDate, 資料類型=DateTime

Epic、功能

注意:

  1. 另請參閱 依指派或工作流程變更、日期和身分識別欄位進行查詢

  2. 若要為 WIT 定義這些欄位,這些欄位必須包含在 WORKFLOW WIT 定義的 區段中。 例如,轉換至已解析狀態時,定義中 FIELDS 會包含此語法:

     <FIELD refname="Microsoft.VSTS.Common.ResolvedDate" />  
        <SERVERDEFAULT from="clock"  />  
     </FIELD >  
    
  3. 如果您在 Microsoft Project 中建立專案計劃,然後將該計畫與儲存在 Azure Boards 中的工作同步處理,則會計算[開始日期] 和 [完成日期]欄位。 這些欄位可能不會出現在工作專案表單上,但會針對連結至待辦專案的專案和工作計算。 您可以在查詢或 Microsoft Excel 的結果中檢視其唯讀值。

    重要

    不支援 Microsoft Project 整合和 TFSFieldMapping 命令:

    • Visual Studio 2019 和 Azure DevOps Office® Integration 2019
    • Azure DevOps Server 2019 和更新版本,包括Azure DevOps Services。

    不過,會維護 Microsoft Excel 整合的完整支援,並支援大量匯入和更新工作專案。 使用 Microsoft Project 的替代方案包括:

若要根據 [歷程記錄] 欄位中輸入的文字查詢專案,請參閱 歷程記錄和稽核

REST API

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