依指派或工作流程變更查詢Azure Boards

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

工作流程中的狀態支援追蹤工作狀態,因為它從新狀態移至已關閉或完成的狀態。 Kanban 查詢欄位支援追蹤工作的狀態,因為它從一個資料行或泳道移至 Kanban 面板上的另一個資料行。

每個工作流程都包含一組狀態、狀態之間的有效轉換,以及將工作專案轉換為選取狀態的原因。 工作流程狀態和原因 與用來建立專案的工作專案類型和預設程式不同。

大部分的工作專案都會從 [新增]、[ 使用中] 或 [建議 ] 狀態移至 [完成 ] 或 [ 已關閉 ] 狀態。 隨著各工作項目從某種狀態轉變成另一種狀態,該項目也可能會重新指派給小組的不同成員。 例如,測試者建立的 Bug 會在分級期間指派給另一名小組成員。 當其他小組成員解決 Bug 時,會重新指派給建立錯誤的測試人員。

例如,您可以找到已關閉但重新啟用的所有工作專案。 藉由指定 [變更日期 ] 欄位,您可以專注於今天、昨天或上周發生的重新啟用。

查詢編輯器篩選重新啟用的專案。

您也可以使用 [啟用者 ] 和 [ 啟用日期 ] 欄位或其他工作流程欄位。

提示

並非所有欄位對所有工作專案類型都有效。 跳至 工作流程和工作流程看板查詢欄位 ,以取得您可以在查詢中包含的欄位集,以及它們套用的工作專案類型。

如果您不熟悉建立查詢,請參閱 使用查詢編輯器列出和管理查詢

支援的運算子和宏

指定身分識別或工作流程關聯欄位的查詢子句可以使用下表所列的運算子和宏。 若要瞭解欄位資料類型,請參閱本文稍後提供的 工作流程和工作流程看板欄位


Data type

支援的運算子和宏


布林值 1

= 、、 <> =[Field] 、 <> [Field]


DateTime

= 、 <> 、 > 、、 >< = 、 < = 、=[Field]、 <>> [Field]、[Field]、[Field] < 、[Field]、 > =[Field]、 < =[Field]、In、Not In、Ever
@Today@Today +/- n 任何 DateTime 欄位都有效


身分識別

= 、 <> 、 > 、、 >< = 、 < = 、=[Field]、 <> [Field]、 > [Field]、[Field] < 、 > =[Field]、 < =[Field]、Contains、不包含、in、不在群組中、群組中、未在群組中
所有 身分識別欄位@me有效


單一文字 (字串) 2

= 、 <> 、 > 、、 >< = 、 < = 、=[Field]、 <> [Field]、 > [Field]、[Field] < 、 > =[Field]、 < =[Field]、Contains、不包含、in、不在群組中、群組中、未在群組中


注意

  1. TFS 2017 和更新版本支援 布林 資料類型欄位。
  2. Was Ever運算子目前僅適用于Azure DevOps Services的 Kanban 面板資料行。

使用 InNot In 運算子來篩選或排除兩個或多個挑選清單專案或分隔的專案集。 使用 [群組中 ] 或 [ 不在群組] 運算子來篩選屬於或不屬於類別群組或安全性群組的專案。 如需詳細資訊,請參閱 查詢欄位、運算子和宏

日期和時間模式

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

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

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

以身分識別為基礎的查詢

使用搜尋方塊或查詢編輯器,根據對 [身分識別 ] 欄位所做的工作專案快速尋找工作專案。 此外,您也可以根據變更、解析或關閉工作專案來篩選工作專案。 藉由指定時間週期,您可以進一步界定查詢的範圍,以協助效能。

使用 = 來尋找目前的指派、 是否 要根據過去的工作分派列出專案,以及 @Me 範圍限定于您的使用者身分識別。

篩選

包含這些查詢子句


指派給我的作用中專案

Assigned To @Me
And State = Active

已關閉某個時間點指派給我的專案

Assigned To Was Ever @Me
And State = Closed

指派給 Web 小組的作用中使用者劇本

Work Item Type = User Story
And State = Active
And Assigned To In Group [FabrikamFiber]\Web

過去 30 天內已修改的專案

Changed By = @Me And Changed Date >= @Today-30

未指派的專案 (將 [值 ] 保留空白)

Assigned To = _


小組或群組成員資格查詢

若要篩選指派給屬於小組或安全性群組的人員的專案,請使用 In Group 操作員。

查詢編輯器的螢幕擷取畫面,根據安全性群組指派進行篩選。

您可以使用 [群組] 或 [ 不在群組] 運算子,根據群組成員或不是群組成員的數個值來篩選查詢。 您可以指定的群組範例包括下列專案:

  • Teams
  • 內建和自訂安全性群組
  • Azure Active Directory 和 Active Directory 安全性群組
  • 工作專案類別

根據工作流程變更的查詢

您可以使用 [狀態]、[原因] 和 [已解決的原因] 欄位,根據工作流程變更來查詢專案。

篩選

包含這些查詢子句


已解決的劇本

Work Item Type = User Story
And State = Resolved

新或作用中之工作的劇本、Bug 和工作

Work Item Type In User Story,Bug,Task
And State In New,Active

當專案重複時移除

State= Removed
And Reason = Duplicate

專案無法接受測試

Resolved Reason = Acceptance tests fail

過去 15 天內關閉的專案

State = Closed
And Closed Date > @Today-15


工作流程變更和身分識別型查詢

您可以快速找到您變更、解析或關閉的專案。 您也可以尋找其他小組成員已變更的專案。 系統會根據工作流程的變更來填入數個欄位,例如[建立者]、[變更者]、[解析者] 和 [已關閉者]。

篩選

包含這些查詢子句


我關閉的使用者劇本

Work Item Type = User Story
And Closed By = @Me

我在過去一周解決的專案

Resolved By = @Me
And Resolved Date >= Today-7


查詢工作專案狀態的變更

若要列出在特定日期範圍內變更狀態的工作專案,您可以使用 [ 狀態變更日期 ] 欄位來縮小搜尋範圍,然後將子句新增至 [ 狀態 ] 欄位的變更。 範例如下圖所示。

查詢編輯器的螢幕擷取畫面,篩選 [狀態變更日期] 和 [狀態] 欄位。

查詢工作流程看板的變更

使用 Kanban 查詢欄位 -[面板資料行]、[面板資料行完成] 和 [面板通道],您可以根據工作流程看板上的流程狀態來列出工作專案。 而且,您可以根據這些查詢建立 狀態或趨勢圖表

您可以根據小組區域路徑列出專案,如果專案位於特定的自訂 Kanban 資料行和泳道中, 如果您重新命名資料行或泳道,則必須更新查詢篩選,以反映新的名稱。 如需更多想法,請參閱此部落格文章: 新欄位將 Kanban 良好性帶入查詢等等

查詢編輯器的螢幕擷取畫面,篩選 [Kanban Board 資料行] 和 [面板通道] 欄位。

注意

查詢現在預設會限定為目前的專案。 檢查 跨專案查詢 ,以尋找集合內其他專案中定義的工作專案。

篩選

包含這些查詢子句


程式 代碼/執行 資料行中的使用者劇本

Work Item Type = User Story
And Board Column = Code
And Board Column Done = False

加速泳道中的專案

Board Lane = Expedite

標籤包含「Test」 的任何泳道中的專案

Board Lane Contains Test

在 [檢閱] 資料行中曾有的專案

Board Column Was Ever In Review


重要

出現在多個小組工作流程看板上的工作專案可能會產生不符合您期望的結果,因為每個小組都可以自訂其工作流程看板資料行和泳道。 指派給 Kanban Board ColumnBoard Column DoneBoard Lane 欄位的值可能與另一個小組從不同的面板更新工作專案時所預期的值不同。 若要深入瞭解,請參閱在Azure Boards中新增、檢閱和更新工作專案

工作流程和工作流程看板欄位

下欄欄位有助於篩選查詢。 其中一些欄位會在工作專案從某個狀態進展到另一個狀態時更新。 或者,當您將 工作流程看板 中的工作專案移至不同的資料行或泳道時,它們就會更新。 其中數個欄位不會出現在工作專案表單上,但會針對下表所列的工作專案類型進行追蹤。

如需欄位屬性的詳細資訊,請參閱 工作專案欄位和屬性

欄位名稱

說明

工作項目類型


啟動者 :1、2、3

將工作專案狀態變更為 [進行中 ] 類別狀態的小組成員名稱。

小組成員的名稱,將工作專案的狀態從 [新增 ] 變更為 [ 作用 中],或在工作專案關閉、完成或完成之後重新啟用工作專案。

參考名稱=Microsoft.VSTS.Common.ActivatedBy
資料類型=String (Identity)

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

啟動日期 1,3

工作專案變更為 [進行中 ] 類別狀態的日期和時間。

工作專案從 [新增 ] 變更為 [ 作用中 ] 的日期和時間,或在工作專案關閉、完成或完成之後重新啟用。

參考名稱=Microsoft.VSTS.Common.ActivatedDate
資料類型=DateTime

All

指派給 2

指派給 2、3、4

目前擁有工作項目的小組成員名稱。 如需詳細資訊,請參閱 同步處理和人員名稱欄位的附注 1

參考名稱=System.AssignedTo
資料類型=String (Identity)

All

面板欄

工作專案的目前工作流程看板資料行指派,例如:Active、Closed、Committed、Done 或其他自訂資料行指派。

參考名稱=System.BoardColumn
資料類型=String

需求類別 4

需求類別 5

面板資料行完成

目前的工作專案指派給 [執行] (False) 或 [完成] (True) Kanban 資料行。 只有在啟用工作流程看板資料行的 分割資料 行時才會指派。

參考名稱=System.BoardColumnDone
資料類型=布林值

需求類別 4

需求類別 5

面板通道

工作專案的目前工作流程看板泳道指派,例如:預設、加速、封鎖或其他自訂的泳道指派。 參考名稱=System.BoardLane
資料類型=String

需求類別 4

需求類別 5

已關閉 1,2

關閉日期 :1、2、3

將狀態設為關閉、結束或完成的小組成員名稱。

參考名稱=Microsoft.VSTS.Common.ClosedBy
資料類型=String (Identity)

All

關閉日期

工作項目關閉的日期和時間。

參考名稱=Microsoft.VSTS.Common.ClosedDate
資料類型=DateTime

All

建立者 :1、2

建立者 :1、2、3

建立工作項目的小組成員名稱。

參考名稱='System.CreatedBy
資料類型=String (Identity)

All

建立日期

工作項目建立的日期和時間。

參考名稱=System.CreatedDate
資料類型=DateTime

All

原因

原因 3,4

工作項目處於目前狀態的原因。 每個從一個工作流程狀態轉換到另一個工作流程狀態都會與對應的原因相關聯。

針對內部部署 XML 進程模型,原因值是使用 REASON 元素定義工作專案類型定義的 區段內 WORKFLOW 定義。 若要修改定義的原因,請參閱 變更工作專案類型的工作流程

參考名稱=System.Reason
資料類型=String

測試案例和共用步驟以外的所有 ()

解決者 :1、2

解決者 :1、2、3

將工作專案狀態變更為 已解決 類別狀態的小組成員名稱。

將工作專案狀態變更為 已解決 或完成工作流程狀態的小組成員名稱。

參考名稱= Microsoft.VSTS.Common.ResolvedBy , 資料類型=String (Identity)

All

解決日期

解決日期 1,2

工作專案變更為 [ 已解決 ] 類別狀態的日期和時間。

將工作專案移至已 解決 或完成工作流程狀態的日期和時間。

參考名稱= Microsoft.VSTS.Common.ResolvedDate , 資料類型=DateTime

All

解決原因

解決的原因 3

工作項目已解決的原因。 例如,使用者劇本程式碼已完成,或是 Bug 已修正。 此欄位為唯讀欄位,只對 Agile 與 CMMI 工作項目類型有效。

參考名稱=Microsoft.VSTS.Common.ResolvedReason
資料類型=String

所有 (Agile、CMMI)

檢閱者

回應程式碼檢閱要求的小組成員名稱,並在程式碼檢閱回應中編錄。

參考名稱=Microsoft.VSTS.Common.ReviewedBy
資料類型=String (Identity)

程式碼檢閱回應

State

狀態 3,4

工作項目的目前狀態。 此欄位可讓您隨著工作項目的進度,將其狀態從新增或使用中更新為完成或關閉。

若要修改工作流程狀態,請參閱 自訂進程的工作流程

若要修改工作流程狀態,請參閱下列文章:

若要修改工作流程狀態,請參閱 變更工作專案類型的工作流程

參考名稱=System.State
資料類型=String

All

狀態變更日期

狀態欄位值的變更日期和時間。

參考名稱=Microsoft.VSTS.Common.StateChangeDate
資料類型=DateTime

All

注意

  1. 請參閱 日期和身分識別欄位
  2. 根據預設,伺服器會將系統定義的人員名稱或身分識別型欄位與 Active Directory 或 Azure Active Directory 同步處理。 這些欄位包括: Activated ByAssigned ToClosed ByCreated ByResolved By。 您可以藉由新增您在 AD 或 Azure AD 中建立的安全性群組,或將帳戶新增至從集合設定 [安全性 ] 頁面定義的現有或自訂群組,來授與專案的存取權。 請參閱設定 Active Directory 或 Azure Active Directory
  3. 請參閱 Activated By/Date 和 Resolved By/Date 欄位
  4. 需求類別適用于出現在產品待辦專案和工作流程看板上的所有工作專案類型,而且可能包含根據在 面板和待辦專案上顯示 Bug的小組設定新增至 Bug 類別目錄的專案。 如需工作專案類型類別的詳細資訊,請參閱 使用類別將工作專案類型分組

注意

即使您將面板相關欄位,例如 Board Column 或 Board Lane 新增至工作專案表單,您也無法修改表單中的欄位。

  1. 請參閱 日期和身分識別欄位

  2. 根據預設,伺服器會將系統定義的人員名稱或身分識別型欄位與 Active Directory 或 Azure Active Directory 同步處理。 這些欄位包括:[啟動者]、[指派給]、[關閉者]、[建立者] 及 [解決者]。 您可以藉由新增您在 AD 或 Azure AD 中建立的安全性群組,或將帳戶新增至從集合設定 [安全性 ] 頁面定義的現有或自訂群組,來授與專案的存取權。 請參閱設定 Active Directory 或 Azure Active Directory

    針對內部部署,您可以使用 witadmin changefields 命令列工具來啟用或停用人員名稱欄位的同步處理。 您也可以藉由指定 syncnamechanges 屬性來同步處理自訂人員名稱欄位。 請參閱 管理工作專案欄位FIELD (定義) 專案參考

  3. 屬性設定為 Dimension 的可報表欄位。 只有在集合設定為支援內部部署 XML 模型時才有效。 可報表的資料會匯出至資料倉儲,而且可以包含在 Excel 或SQL Server報表中。 針對內部部署 Azure DevOps,請使用 witadmin changefield 命令來變更欄位的可報告屬性。

  4. 索引欄位。 啟用欄位的索引可能會提高尋找查詢指定該欄位的工作專案的效能。 針對內部部署 Azure DevOps,請使用witadmin indexfield命令來變更欄位的索引屬性。

  5. 需求類別適用于出現在產品待辦專案和工作流程看板上的所有工作專案類型。 類別包含根據面板 和待辦專案上顯示 Bug的小組設定新增至 Bug 類別的專案。 如需工作專案類型類別的詳細資訊,請參閱 使用類別將工作專案類型分組

注意

即使您將面板相關欄位,例如 Board Column 或 Board Lane 新增至工作專案表單,您也無法修改表單中的欄位。

人員選擇器

人員選擇器功能支援 [ 指派給 ] 欄位。 例如,當您從工作專案表單中選擇 [ 指派給 ] 欄位時,就會啟動人員選擇器。 如下圖所示,您只要開始輸入您想要選取的使用者名稱,然後搜尋,直到找到相符專案為止。 您先前選取的使用者會自動出現在清單中。 若要選取您先前未選取的使用者,請輸入其完整名稱或搜尋完整目錄。

顯示人員選擇器的討論區中<span class=@mention 工具的螢幕擷取畫面。」 />

對於使用 Azure Active Directory 管理其使用者和群組的組織, (Azure AD) 或 Active Directory,人員選擇器可支援搜尋新增至 AD 的所有使用者和群組,而不只是新增至專案的那些使用者和群組。

若要將可供選取的身分識別範圍限制為只新增至專案的那些使用者,您可以使用 [專案範圍使用者 ] 群組來執行此動作。 如需詳細資訊,請參閱 管理您的組織、限制身分識別搜尋和選取

日期與身分識別欄位

會根據工作流程狀態或轉換來設定數個日期和身分識別欄位。 新增工作專案時,系統會設定某些欄位,例如 [建立者 ] 和 [ 建立日期]。 其他欄位,例如 [關閉日期 ] 和 [ 已關閉依據],是透過工作專案類型的工作流程定義來設定。 此外,自訂的工作專案類型可能會定義其他規則來影響日期和身分識別欄位指派。

日期和時間模式

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

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

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

狀態變更

下列 XML 語法範例說明可能針對管理選取欄位值的工作專案類型所定義的規則。 在這裡,當 [狀態] 值設定為 [新增] 時,[已解決日期]、[已解決日期]、[關閉日期]、[關閉日期]、[已關閉日期]、[啟動日期] 和 [啟動者] 欄位會設定 EMPTY 為 。 狀態值指派會先進行評估,然後再評估轉換指派。

   <WORKFLOW>
      <STATES>
        <STATE value="New">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Resolved">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Closed" />
      </STATES>

Activated By 和 Activated Date 轉換指派

當 Bug 工作專案發生下列轉換時,就會對 [啟動者] 和 [啟動日期] 欄位進行下列工作分派:

<TRANSITION from="" to="New">
<TRANSITION from="New" to="Active">
<TRANSITION from="New" to="Resolved">
<TRANSITION from="New" to="Closed">
<TRANSITION from="Resolved" to="Active">
<TRANSITION from="Closed" to="Active">
<FIELDS>
   <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
       <COPY from="currentuser" />
           <VALIDUSER />
           <REQUIRED />
    </FIELD>
    <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
        <SERVERDEFAULT from="clock" />
   </FIELD>
</FIELDS>

當 Bug 工作專案發生下列轉換時:

<TRANSITION from="Active" to="New">
<TRANSITION from="Active" to="Closed">
<TRANSITION from="Resolved" to="Closed">

然後[啟動者] 和 [啟動日期] 欄位會設定為 READONLY

<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
   <READONLY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
   <READONLY />
</FIELD>

Activated By/Date and Resolved By/Date fields

當變更根據對應的工作流程類別狀態發生變更時,系統會更新這些欄位: Activated ByActivated DateResolved ByResolved Date。 當工作流程狀態變更為 [建議 ] 狀態類別時,就會更新 [ 啟動者 ] 和 [ 啟動日期 ]。 當工作流程狀態變更為 [已解決 ] 狀態類別時,就會更新 [ 解決者 ] 和 [ 解決日期 ]。

若要深入瞭解工作流程狀態如何對應至狀態類別,請參閱 工作流程狀態和狀態類別如何在待辦專案和麵板中使用

注意

此處所述的欄位控管邏輯適用于Azure DevOps Services、Azure DevOps Server 2020.1 更新和更新版本。

因為這些欄位會參考工作流程狀態類別,所以更新欄位時會參考您新增的自訂工作流程狀態。 若要深入瞭解自訂,請參閱 自訂程式的工作流程

其他注意事項:

  • 每當工作專案從所設定以外的任何類別狀態移動時,欄位就會更新。 例如,如果您將工作專案從 [新增 ] 更新為 [已修正],則會更新 [ 解決日期 ] 欄位。 不過,如果您從 [已修正 ] 和 [ 準備好進行測試] 更新,且狀態相同,則不會更新 [ 已解析的日期 ] 欄位。
  • 當您向後轉換時,例如從 [已解析 ] 轉換為 [ 使用 中] 狀態時,系統會清除 [ 解析依據/已解析日期 ] 欄位的值。 如果您從 [作用 中] 到 [ 新增],系統會清除 [ 啟用者/啟動日期 ] 欄位的值。
  • 請勿手動變更這些欄位的值。 它們是受系統規則控管的系統欄位。 您嘗試設定的任何值都會超過寫入。

REST API

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