定義查詢

Azure Boards |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018-TFS 2013

工作專案查詢會根據您提供的篩選準則來產生工作專案清單。 然後,您可以儲存這些受控查詢並與他人共用。 相反地,語義搜尋會列出工作專案,但無法儲存或共用。

您可以從入口網站或支援的用戶端(例如 Visual Studio Team Explorer 和 Team Explorer Everywhere)建立查詢。 此外,您也可以在 Excel 中開啟查詢,以執行大量新增和修改。

注意

若要在 Visual Studio 2019 中定義查詢,您需要 將工作專案體驗設定 為舊版選項。

如果您發現查詢花費的時間太長,無法傳回結果,請參閱 指導方針來建立高效能的查詢。

在本文中,您將了解:

  • 如何新增或建立查詢
  • 如何跨專案查詢
  • 如何群組和取消群組查詢子句
  • 如何建立工作專案的樹狀結構或直接連結查詢

若要快速存取所有查詢工作,支援的運算子, — 例如、 ContainsInIn Group<> (not 運算子) — 根據欄位資料類型和查詢範例,請參閱 查詢快速參考

查詢篩選

在 [查詢編輯器] 中,您可以執行下列篩選函數。 選擇篩選器,以跳至含有範例查詢的文章。 除了查詢篩選之外,您還可以以 互動方式將篩選套用至查詢結果

注意

Managed 查詢不支援鄰近搜尋,但語義搜尋則不支援。 此外,語義搜尋支援 *? 做為萬用字元,您可以使用多個萬用字元來比對多個字元。 若要深入瞭解,請參閱 功能性工作專案搜尋


篩選功能

巨集



必要條件

  • 依預設,具有專案關係 存取權的所有專案成員和使用者都可以查看並執行所有共用的查詢。 您可以變更共用查詢資料夾或共用查詢的許可權集合。 如需詳細資訊,請參閱 設定查詢許可權
  • 若要在 [ 共用查詢] 下新增和儲存查詢,您必須獲得 基本 存取權或更高的許可權。 此外,您必須將您的「 參與 」許可權設定為 [ 允許 ],讓您想要新增查詢的資料夾。 依預設, Contributors 群組沒有此許可權。

注意

具有公用專案之專案關係 存取權的使用者,對於具有 基本 存取權的使用者,具有查詢功能的完整存取權。 如需詳細資訊,請參閱 關於存取層級

  • 依預設,具有專案關係 存取權的所有專案成員和使用者都可以查看並執行所有共用的查詢。 您可以變更共用查詢資料夾或共用查詢的許可權集合。 如需詳細資訊,請參閱 設定查詢許可權
  • 若要在 [ 共用查詢] 下新增和儲存查詢,您必須獲得 基本 存取權或更高的許可權。 此外,您必須將您的「 參與 」許可權設定為 [ 允許 ],讓您想要新增查詢的資料夾。 依預設, Contributors 群組沒有此許可權。

開啟查詢

在您的網頁瀏覽器中, (1) 確認您已選取正確的專案, (2) 選擇 [面板] >[查詢],然後 (3) 選擇 [ 全部]。

開啟面板>查詢,垂直導覽

如果這是您第一次開啟 查詢,頁面會開啟 至我的最 愛。 此頁面會列出您所指定的查詢是我的最愛。 否則,您可以選擇 [ 全部 ] 來查看您已定義的所有查詢,以及為專案定義的共用查詢。

提示

您或小組的查詢會在 [我的最愛 ] 頁面上顯示 [chosed]。 我的最愛查詢和其他物件也會出現在您的 專案 頁面上。 若要深入瞭解,請參閱 設定個人或小組的最愛。

在您的網頁瀏覽器中,開啟面板 >查詢

從您的網頁瀏覽器開啟面板>查詢

定義一般清單查詢

您可以從 web 入口網站的 [ 查詢 ] 索引標籤或 Team Explorer 中的 [ 工作專案 ] 索引標籤,開始全新的新查詢。

加入新的查詢,新體驗

![查詢] 頁面上,從下拉式功能表中選擇 [新增查詢]](media/using-queries-new-query-ts.png)

在專案之間進行查詢

根據預設,新的查詢範圍會設定為目前的專案。 不過,您可以建立查詢來尋找組織或專案集合內定義的工作專案。 不過,您儲存的所有查詢都會儲存在特定專案下。

若要列出兩個或多個專案中所定義的工作專案,請 在專案之間 進行核取記號查詢。 例如,下列查詢會尋找過去30天內所有專案中建立的所有功能。

Web portal, Queries page, Query Editor, Checkbox, Query across projects

注意

TFS 2015.1 和更新版本支援 跨專案的查詢 功能。

查詢跨專案查詢 時,您可以加入 [Team 專案] 欄位,以篩選出選取的專案數目。

Azure Boards and TFS 2015.1, Web portal, Query across select projects using the In operator

注意

以清單分隔符號分隔多個專案名稱,該分隔符號對應至用戶端電腦所定義的地區設定,例如逗號 (、) 。

只有在您 跨專案檢查查詢 之後,[ Team 專案] 欄位才會變成可用。 此外,未選取 [ 跨專案查詢 ] 時,只有在目前專案中定義之 wit 的欄位才會出現在 [欄位] 下拉式功能表中。 核取 [ 跨專案查詢 ] 時,會在集合的所有專案中定義所有 wit 的所有欄位,並顯示在 [欄位] 下拉式功能表中。

若要尋找過去30天內所有專案中建立的所有功能,請從查詢中移除Team Project = @Project 子句。

TFS 2013-2015, Web portal, Query across select projects using the In operator

集合中所有專案所定義之所有 Wit 的所有欄位一律會出現在 [欄位] 下拉式功能表中。

使用Team 專案 = @Project 來限定查詢範圍,以找出針對目前專案所定義的工作專案。

定義子句

您可以藉由定義一個或多個子句來建立查詢。 每個子句都會定義單一欄位的篩選準則。 選擇 [ 加入新子句 ] 加入另一個子句,然後選擇該子句的 欄位運算子

定義子句。

例如,您可以藉由指定 指派至 欄位、等於 (=) 運算子以及代表您使用者身分識別的宏,來搜尋指派給您的所有工作專案 @Me

範例查詢子句

及/或 欄位 運算子

指派至

=

@我

如需根據欄位資料類型所提供之運算子的快速參考,請參閱 查詢索引快速參考

您加入的所有子句都會新增為 語句。 選擇 變更群組。 您可以將子句分組,以確保子句語句會以所需的循序執行。

提示

若要查看查詢的 WIQL 語法,以及如何使用括弧來群組子句,請安裝 Marketplace WIQL 編輯器。 此延伸模組支援查看 WIQL 語法,並將它匯出至 WIQL 檔案,以便在 REST API 呼叫中使用。 若要深入瞭解,請參閱 工作項目查詢語言 (WIQL) 的語法

如何定義查詢子句的檢查清單

  1. 在第一個空白資料列的 [ 欄位 ] 資料行標題底下,選擇向下箭號以顯示可用欄位的清單,然後挑選清單中的專案。

    如需詳細資訊,請參閱 查詢欄位和值

  2. 在相同的資料列中,于 [ 運算子 ] 資料行標題底下,選擇向下箭號以顯示可用運算子的清單,然後挑選清單中的專案。

    如需詳細資訊,請參閱 運算子

  3. 在相同的資料列中,于 [ ] 資料行標題底下輸入值,或選擇向下箭號,然後挑選清單中的專案。

    如需如何使用宏或變數來指定目前專案、使用者、日期或其他選取專案的詳細資訊,請參閱 變數

  4. 若要加入子句,請選擇 [ 加入新子句]。

    您可以將子句加入至查詢的結尾,並在現有子句後面插入子句 (插入子句圖示) ,並移除 (移除子句圖示) ,群組 (群組子句圖示) ,並取消群組 (取消群組子句圖示視需要 ) 子句。

使用工作專案樹狀結構來查看階層

您可以使用 [ 工作專案的樹狀結構 ] 查詢來查看多層式、嵌套的工作專案清單。 例如,您可以檢視所有待處理項目及其連結的工作。 展開 [ (展開節點] ( 展開節點、入口網站) 或折迭 (折迭  節點、web 入口網站 ) 節點,以將焦點放在樹狀結構的不同部分。

注意

您無法建立可顯示 Test Plans、測試套件和測試案例階層式觀點的查詢。 這些專案不會使用父子式連結類型連結在一起。 不過,您可以建立直接連結查詢,以列出與測試相關的工作專案。 此外,您也可以 透過 [測試>] Test Plans 頁面來查看階層。

定義父工作項目和子工作項目的篩選準則。 若要尋找連結的子系,請先選取 [ 符合最上層工作專案]。 若要尋找連結的父代,請選取 [先比對 連結的工作專案]。

您可以使用 [ 工作專案] 和 [直接連結 ] 查詢來追蹤相依于其他追蹤工作的工作專案,例如工作、bug、問題或功能。 例如,您可以檢視相依於其他要實作項目或要修正 Bug 的待辦項目。

使用直接連結查詢來追蹤小組所擁有、其他小組所處理的相依性,或管理小組對其他小組所做的認可。 指定最上層及連結工作項目的篩選準則,然後選取用來篩選相依性的連結類型。

直接連結查詢結果

直接連結查詢,編輯器

直接連結查詢編輯器

選擇下列其中一個選項,篩選第一層工作項目清單:

  • 只傳回具有相符連結的專案:第一層工作專案會傳回,但是只有在其連結至連結的工作專案篩選準則所指定的工作專案時才會傳回。

  • 傳回 所有最上層專案:無論連結的工作專案篩選準則為何,都會傳回所有的第一層工作專案。 如果連結至第一層的第二層工作項目符合連結工作項目篩選準則,就會回傳這些工作項目。

  • 只傳回沒有相符連結的專案:第一層工作專案會傳回,但只有在它們沒有連結到連結的工作專案篩選準則所指定的工作專案時才會傳回。

若要深入瞭解每個連結類型,請參閱 連結、追蹤和管理相依性。

And/Or 邏輯運算式

您可以指定 Andor 來建立查詢子句的邏輯運算式。 指定 以尋找符合目前子句和上一個子句之準則的工作專案。 指定 ,以尋找符合目前子句或上一個子句中之準則的工作專案。

您可以為每個工作項目欄位加入一個新子句,以精簡搜尋條件,只傳回您想要的一組工作項目。 如果您沒有從查詢得到您預期的結果,則可以加入、移除、群組或取消群組查詢子句,以精簡查詢結果。

您可以將查詢子句群組為與查詢其餘部分分開運作的單一單位,類似于在數學方程式或邏輯語句中的運算式周圍放置括弧。 當您群組子句時,群組中第一個子句的 會套用至整個群組。

Group 子句

群組子句的運作方式與查詢其餘部分的單一單位不同,類似于在數學方程式或邏輯運算式周圍放置括弧。 群組中第一個子句的 [及] 或 [或] 運算子會套用至整個群組。

如下列範例所示,已分組的子句會轉譯成對應的邏輯運算式。

提示

若要查看查詢的 WIQL 語法,請安裝「 wiql 查詢編輯器」延伸 模組,讓您查看任何查詢 UI 專案的 wiql 版本。 此延伸模組可讓您只查看如何處理和/或群組子句。

查詢 群組子句 邏輯運算式
1 顯示群組子句查詢的螢幕擷取畫面。 篩選準則是針對 [工作專案類型] 欄位,以及 [狀態] 欄位或 [指派給] 欄位所設定。 邏輯運算式的螢幕擷取畫面。 AND 運算子會將工作專案類型、狀態和指派給欄位。 OR 運算子會將狀態分組並指派給欄位。
2 顯示群組子句查詢的螢幕擷取畫面,其中包含 [工作專案類型] 欄位的篩選,以及 [狀態] 欄位或 [指派給] 欄位的其中一個篩選準則。 邏輯運算式的螢幕擷取畫面。 AND 運算子會將狀態或指派給欄位的工作專案類型,以 OR 運算子群組。
3 顯示群組子句查詢的螢幕擷取畫面。 您可以針對 [工作專案類型] 欄位或 [狀態] 欄位和 [指派給] 欄位設定篩選。 邏輯運算式的螢幕擷取畫面。 OR 運算子會將工作專案類型連結至 [狀態] 和 [指派給] 欄位,這些欄位是由 AND 運算子連結。

這些查詢會傳回類型錯誤的工作專案,並符合下列邏輯運算式:

  • 查詢 1: AND State = Active 或指派給 @Me
  • 查詢 2:和 (State = Active 或指派給 @Me)
  • 查詢 3:或 (State = Active 並指派給 @Me)

若要群組一個或多個子句,請選取它們,然後選擇 群組子句圖示。

入口網站,群組選取的查詢子句

您也可以藉由檢查每個已分組子句的方塊來分組數個群組子句,然後選擇 群組子句圖示。

群組多個查詢子句

如果您的查詢結果未傳回預期的結果,請遵循下列步驟:

  • 確定每個子句都是依您想要的方式定義。
  • 驗證每個子句的 [及/或] 指派。 如果結果包含的工作項目數目超出預期,則通常表示存在 [或] 子句,而不是 [及] 子句。
  • 判斷是否需要分組或變更查詢子句的群組以及每個群組子句的 [及/或] 指派。
  • 加入更多查詢子句來精簡查詢篩選準則。
  • 請參閱可用來指定 欄位、運算子和值的選項。

取消群組子句

若要取消群組子句,請選擇 群組子句的 [取消群組子句] 圖示。

這就是定義查詢的基本概念。 如需查詢範例的索引,請參閱 查詢快速參考