在 Azure Boards 中依指派或工作流程變更進行查詢
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
工作流程中的狀態支持追蹤工作狀態,因為它從新狀態移至關閉或完成狀態。 查詢欄位支持追蹤工作的狀態,因為它從一個數據行或泳道移到面板上的另一個。
每個工作流程都包含一組狀態、狀態之間的有效轉換,以及將工作專案轉換為選取狀態的原因。 工作流程狀態和原因 與用來建立專案的工作專案類型和默認程式不同。
大部分的工作項目都會從 [新增]、[作用中] 或 [建議] 狀態移至 [完成] 或 [已關閉] 狀態。 當每個工作專案從某個狀態移至另一個狀態時,專案也可能重新指派給小組的各種成員。 例如,測試人員可能會在分級期間建立指派給另一個小組成員的 Bug。 當其他小組成員解決 Bug 時,它會重新指派給建立 Bug 的測試人員。
例如,您可以找到所有已關閉但重新啟用的工作專案。 藉由指定 [ 變更日期] 字段,您可以專注於今天、昨天或上周發生的重新啟用。
您也可以使用 [ 啟用者] 和 [啟用日期] 字段,或其他工作流程欄位。
提示
並非所有欄位都適用於所有工作項目類型。 跳至 工作流程和查詢欄位 ,以取得您可以在查詢中包含哪些欄位,以及其套用的工作項目類型。
如果您不熟悉建立查詢,請參閱 使用查詢編輯器來列出和管理查詢。
支援的運算子和巨集
指定識別或工作流程關聯欄位的查詢子句可以使用下表所列的運算元和巨集。 若要瞭解欄位數據類型,請參閱 本文稍後提供的工作流程和面板欄位 。
Data type
支援的運算子和巨集
布爾值 1
= , <> , =[Field] , <>[Field]
DateTime
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
巨集:@Today
,@Today +/- n
任何 DateTime 欄位都有效
身分識別
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever
巨集:@Me
適用於所有身分識別欄位
單一文字 (字串) 2
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever
In
使用和 Not In
運算符來篩選或排除兩個或多個挑選清單專案或分隔的專案集。 In Group
使用 或 Not In Group
運算符來篩選屬於或不屬於類別群組或安全組內的專案。 如需詳細資訊,請參閱 查詢欄位、運算元和巨集。
日期和時間模式
您針對 DateTime 字段輸入的日期和時間模式應該符合您透過設定檔選取的日期與時間模式。 若要檢視或變更您的選取範圍,請參閱 設定用戶喜好設定。
身分識別型查詢
使用搜尋方塊或查詢編輯器,根據對身分識別字段所做的工作分派,快速尋找工作專案。 此外,您可以根據變更、解析或關閉工作項目來篩選工作專案。 藉由指定時間週期,您可以進一步界定查詢的範圍,以協助提升效能。
使用 =
來尋找目前的指派、 Was Ever
根據過去的指派列出專案,以及 @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 操作員。
您可以使用 In Group 或 Not In Group 運算子,根據屬於群組成員或不是群組成員的數個值來篩選查詢。 您可以指定的群組範例包括下列專案:
- Teams
- 內建和自定義安全組
- Microsoft Entra ID 和 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
查詢工作項目狀態的變更
若要列出在特定日期範圍內變更狀態的工作專案,您可以使用 [狀態變更日期 ] 字段來縮小搜尋範圍,然後新增子句以變更 [狀態 ] 字段。 範例如下圖所示。
查詢面板的變更
您可以使用查詢欄位:面板數據行、面板數據行完成和面板通道,根據面板上的流程狀態列出工作專案。 而且,您可以根據這些查詢建立 狀態或趨勢圖 。
您可以根據小組區域路徑列出專案,如果項目位於特定的自訂資料列和泳道中,則為 。 如果您重新命名數據行或泳道,則必須更新查詢篩選以反映新名稱。 如需更多想法,請參閱此部落格文章: 新字段為查詢帶來好處等等
注意
查詢現在預設會限定為目前的專案。 檢查跨項目查詢,以尋找集合內其他項目中定義的工作專案。
篩選
包含這些查詢子句
程式代碼/執行數據行中的用戶劇本
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
重要
出現在多個小組面板上的工作專案可能會產生不符合您期望的結果,因為每個小組都可以自定義其面板欄和泳道。 指派給 Board Column、 Board Column Done 和 Board Lane 字段的值,可能會與另一個小組從不同的面板更新工作專案時所預期的值不同。 如需詳細資訊,請參閱 在 Azure Boards 中新增、檢閱和更新工作專案。
工作流程和面板欄位
下列欄位適用於篩選查詢。 其中一些欄位會隨著工作專案從某個狀態進展到另一個狀態而更新。 或者,當您將面板中的工作專案移至不同的欄或泳道時,它們就會更新。 其中數個字段不會出現在工作項目窗體上,但會針對下表所列的工作專案類型進行追蹤。
如需欄位屬性的詳細資訊,請參閱 工作專案欄位和屬性。
欄位名稱
說明
工作項目類型
Activated By 1, 2, 3
將工作項目狀態變更為 [進行 中] 類別狀態的小組成員名稱。
將工作項目狀態從 [新增 ] 變更為 [作用 中] 的小組成員名稱,或在工作專案關閉、完成或完成之後重新啟用工作項目的名稱。
參考名稱=Microsoft.VSTS.Common.ActivatedBy
資料類型=字串(身分識別)
Bug, 變更要求, Epic, 功能, 問題, 產品待辦專案, 需求, 檢閱, 風險, 共用步驟, 工作, 測試案例, 使用者劇本
啟動日期 1, 3
工作項目變更為 [進行中 ] 類別狀態的日期和時間。
工作專案從 [新增] 變更為 [作用中] 的日期和時間,或在工作項目關閉、完成或完成之後重新啟用。
參考名稱=Microsoft.VSTS.Common.ActivatedDate
數據類型=DateTime
全部
指派給 2
指派給 2、3、4
目前擁有工作專案的小組成員名稱。 如需詳細資訊,請參閱 同步處理和人員名稱欄位的附註 1。
參考名稱=System.AssignedTo
資料類型=字串(身分識別)
全部
面板欄
工作專案的目前面板數據行指派,例如:使用中、已關閉、認可、完成或其他自定義數據行指派。
參考名稱=System.BoardColumn
數據類型=String
需求類別 4
需求類別 5
面板列完成
工作專案目前的工作分派至 [執行] 或 [False] 或 [完成] 數據行。 只有在面板數據行啟用分割數據行時才指派。
參考名稱=System.BoardColumnDone
數據類型=布爾值
需求類別 4
需求類別 5
板巷
工作專案的目前面板泳道指派,例如:預設、加速、封鎖或其他自定義泳道指派。
參考名稱=System.BoardLane
數據類型=String
需求類別 4
需求類別 5
關閉 1, 2
關閉日期 :1、2、3
將狀態設定為已關閉、已完成或完成之小組成員的名稱。
參考名稱=Microsoft.VSTS.Common.ClosedBy
資料類型=字串(身分識別)
全部
關閉日期
關閉工作專案的日期和時間。
參考名稱=Microsoft.VSTS.Common.ClosedDate
數據類型=DateTime
全部
建立者: 1、2
建立者: 1、2、3
建立工作專案的小組成員名稱。
參考名稱=『System.CreatedBy
資料類型=字串(身分識別)
全部
建立日期
建立工作專案的日期和時間。
參考名稱=System.CreatedDate
數據類型=DateTime
全部
原因
原因 3, 4
工作項目處於目前狀態的原因。 每個從一個工作流程狀態轉換到另一個工作流程狀態都與對應的原因相關聯。
參考名稱=System.Reason
數據類型=String
所有 (測試案例和共用步驟除外)
解決者: 1、2
解決者: 1、2、3
將工作項目狀態變更為 已解決 類別狀態的小組成員名稱。
將工作項目狀態變更為 已 解決或完成工作流程狀態的小組成員名稱。
參考名稱=Microsoft.VSTS.Common.ResolvedBy
, 資料類型=字串 (身分識別)
全部
解決日期
已解決日期 1, 2
工作項目變更為 [已解決 ] 類別狀態的日期和時間。
工作項目移至 已 解決或完成工作流程狀態的日期和時間。
參考名稱=Microsoft.VSTS.Common.ResolvedDate
, 數據類型=DateTime
全部
已解決的原因
已解決的原因 3
解決工作專案的原因。 例如,使用者劇本是程式代碼完成或 Bug 已修正。 此欄位是唯讀的,僅適用於 Agile 和 CMMI 工作項目類型。
參考名稱=Microsoft.VSTS.Common.ResolvedReason
數據類型=String
全部 (敏捷式,CMMI)
檢閱者
回應程式代碼檢閱要求的小組成員名稱,並在程式代碼檢閱回應中編錄。
參考名稱=Microsoft.VSTS.Common.ReviewedBy
資料類型=字串(身分識別)
代碼檢閱回應
州/省
狀態 3,4
工作專案的目前狀態。 此欄位可讓您在工作專案從新專案或作用中進度到完成或關閉狀態時更新其狀態。
若要修改工作流程狀態,請參閱 自定義進程的工作流程。
若要修改工作流程狀態,請參閱下列文章:
- 如需繼承的進程模型:請參閱 自定義進程的工作流程
- 如需內部部署 XML 進程模型:請參閱 變更工作項目類型的工作流程。
參考名稱=System.State
數據類型=String
全部
狀態變更日期
State 欄位值變更的日期和時間。
參考名稱=Microsoft.VSTS.Common.StateChangeDate
數據類型=DateTime
全部
注意
- 請參閱 日期和身分識別欄位。
- 根據預設,伺服器會使用 Active Directory 或 Microsoft Entra ID 同步系統定義的人員名稱或身分識別型字段。 這些欄位包括: Activated By、 Assigned To、 Closed By、 Created By 和 Resolved By。 您可以新增您在 Active Directory 中建立或Microsoft Entra ID 中建立的安全組,或將帳戶新增至從集合設定 [安全性 ] 頁面定義的現有或自定義群組,來授與專案的存取權。 請參閱設定 Active Directory 或 Microsoft Entra ID。
- 請參閱 Activated By/Date 和 Resolved By/Date 字段。
- 需求類別適用於產品待辦專案和面板上顯示的所有工作專案類型,而且可能會根據面板和待辦專案上顯示 Bug 的小組設定,將新增至 Bug 類別。 如需工作專案類型類別的詳細資訊,請參閱 使用類別來群組工作項目類型。
注意
即使您將面板相關欄位,例如 [面板欄] 或 [面板巷] 新增至工作項目表單,您也無法從表單修改欄位。
請參閱 日期和身分識別欄位。
根據預設,伺服器會使用 Active Directory 或 Microsoft Entra ID 同步系統定義的人員名稱或身分識別型字段。 這些欄位包括:Activated By、Assigned To、Closed By、Created By 和 Resolved By。 您可以新增您在 Active Directory 中建立或Microsoft Entra ID 中建立的安全組,或將帳戶新增至從集合設定 [安全性 ] 頁面定義的現有或自定義群組,來授與專案的存取權。 請參閱設定 Active Directory 或 Microsoft Entra ID。
針對內部部署,您可以使用 witadmin changefields 命令行工具來啟用或停用人員名稱字段 的 同步處理。 您也可以指定 syncnamechanges 屬性來同步處理自訂人員名稱欄位。 請參閱 管理工作專案欄位 和 FIELD (定義) 元素參考。
屬性設定為 Dimension 的可報告欄位。 只有在集合設定為支持內部部署 XML 模型時才有效。 可報告的數據會匯出至數據倉儲,而且可以包含在 Excel 或 SQL Server 報表中。 針對內部部署 Azure DevOps,請使用 witadmin changefield 命令來變更字段的可報告屬性。
索引欄位。 啟用欄位的索引編製可能會提高尋找查詢指定該欄位的工作專案的效能。 針對內部部署 Azure DevOps,請使用 witadmin indexfield 命令 來變更字段的索引屬性。
需求類別會套用至產品待辦專案和面板上出現的所有工作項目類型。 類別包含根據面板和待辦項目顯示 Bug 之小組設定 新增至 Bug 類別的專案。 如需工作專案類型類別的詳細資訊,請參閱 使用類別來群組工作項目類型。
注意
即使您將面板相關欄位,例如 [面板 欄] 或 [面板巷] 新增至工作項目表單,您也無法從表單修改欄位。
人員選擇器
人員選擇器功能支援 [ 指派給 ] 字段。 例如,當您從工作專案窗體中選擇 [ 指派給] 字段時,就會啟動人員選擇器。 如下圖所示,您只需輸入您想要選取的使用者名稱,然後搜尋,直到找到相符項目為止。 您先前選取的使用者會自動出現在清單中。 若要選取您先前未選取的使用者,請輸入其完整名稱或搜尋完整目錄。
在 [討論] 中@mention工具,顯示人員選擇器。」 />
對於使用 Microsoft Entra ID 或 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 和 Resolved By/Date 字段
系統會根據對應的工作流程類別狀態發生變更時,更新這些字段:Activated By、 Activated Date、 Resolved By 和 Resolved Date。 當工作流程狀態變更為 [進行 中] 狀態類別時, 會更新 [啟用者] 和 [啟動日期 ]。 當工作流程狀態變更為 [已 解析] 狀態類別時, [已解析的依據 ] 和 [已解析日期 ] 會更新。
若要深入瞭解工作流程狀態如何對應至狀態類別,請參閱 工作流程狀態和狀態類別如何在待辦專案和面板中使用。
注意
此處所描述欄位的邏輯適用於 Azure DevOps Services、 Azure DevOps Server 2020.1 更新和更新版本。
由於這些欄位會參考工作流程狀態類別,因此更新欄位時會參考您新增的自定義工作流程狀態。 若要深入瞭解自定義,請參閱 自定義程式的工作流程。
其他注意事項
- 每當工作項目從設定以外的任何類別狀態移動時,欄位就會更新。 例如,如果您將工作專案從 [新增 ] 更新為 [已修正],則會 更新 [已解析的日期] 字段。 不過,如果您從 [已修正 ] 和 [準備好進行測試] 更新,且處於相同類別狀態, 則不會更新 [已解決的依據/解決日期 ] 字段。
- 當您向後轉換時,例如從 [已解析] 轉換為 [使用中] 狀態,系統會清除 [已解析的依據/解析日期] 字段的值。 如果您從 [使用中] 到 [新增],系統會清除 [啟用者/啟動日期] 字段的值。
- 請勿手動變更這些欄位的值。 它們是系統規則所控管的系統欄位。 您嘗試設定的任何值都會經過寫入。
相關文章
REST API
若要以程式設計方式與查詢互動,請參閱下列其中一個 REST API 資源: