Sorgu alanları, işleçler ve makrolar

Azure DevOps Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022

İpucu

İlk kez mi sorgulursunuz? Adım adım yönergeler için Sorgu tanımlama ile veya örnekler için Sorgu için hızlı başvuru ile başlayın.

Sorgu Düzenleyicisi sorgu oluştururken alan veri türlerini, sorgu işleçlerini, makroları ve değişkenleri aramak için bu başvuru kılavuzunu kullanın. Tüm işleçler ve makrolar Azure Boards desteklenir; bazıları yalnızca belirli Azure DevOps Server sürümleri için geçerlidir.

Hızlı örnekler ve düzenleyici görevleri için Hızlı Sorgu Başvurusu ve Sorguları Yönetme ve Düzenleme bölümlerine bakın.

Önkoşullar

Kategori Gereksinimler
Proje üyeliği Projenin üyesi olarak eklenmelisiniz .
Erişim düzeyleri - Paylaşılan sorguları görüntülemek ve çalıştırmak için: Project üyesi olmanız gerekir.
- Paylaşılan sorgu eklemek ve kaydetmek için: En azından Temel erişiminiz olmalıdır.
İzinler Sorgu eklemek istediğiniz klasör için Katkıda Bulunma izninin İzin Ver olarak ayarlandığından emin olun. Kuruluşunuzun bu izni vermek için Katkıda Bulunanlar grubunu el ile yapılandırması gerekebilir.

Not

Paylaşılan sorguları kaydetmek için hem yeterli erişim düzeyine hem de Katkıda Bulunma iznine sahip olmanız gerekir. Temel erişim yeterli değildir.

Kategori Gereksinimler
Proje üyeliği Projenin üyesi olarak eklenmelisiniz .
Erişim düzeyleri - Paylaşılan sorguları görüntülemek ve çalıştırmak için: Project üyesi olmanız gerekir.
- Paylaşılan sorgu eklemek ve kaydetmek için: En azından Temel erişiminiz olmalıdır.
İzinler Sorgu eklemek istediğiniz klasör için Katkıda Bulunma izninin İzin Ver olarak ayarlandığından emin olun. Kuruluşunuzun bu izni vermek için Katkıda Bulunanlar grubunu el ile yapılandırması gerekebilir.

Not

Paylaşılan sorguları kaydetmek için hem yeterli erişim düzeyine hem de Katkıda Bulunma iznine sahip olmanız gerekir. Temel erişim yeterli değildir.

Sorgu alanı veri türleri ve değerleri

Bir alanın veri türüyle eşleşen bir değer belirtin. Aşağıdaki tabloda desteklenen veri türleri listelenmektedir:

Not

Azure Boards (bulut) için veri türü, Process > Alanlar sayfasında gösterilen alanla eşleşir. Şirket içi dağıtımlar için veri türü bir type özniteliğe FIELD karşılık gelir. Ayrıntılar için bkz . İş öğesi alanları ve alan öznitelikleri .

Veri türü Description
Boolean True/False değerini depolar.
DateTime veya Date/Time Bir tarih değişkeni (ör. @Today veya ) veya @Today-1gibi 01/01/2025açık bir tarih kullanın. Profilinizde ayarlanan desene uygun olarak tarihleri girin. Sorgu örnekleri için bkz Query by date or @CurrentIteration. . WIQL sorguları için tarihleri UTC olarak da belirtebilirsiniz. Bkz. İş Öğesi Sorgu Dili (WIQL) için Söz Dizimi.
Double veya Decimal 0,2 veya 3,5 gibi gerçek bir sayı depolar. Örnekler için bkz. Sayısal alanlara göre sorgulama .
GUID Benzersiz bir tanımlayıcı dizesi depolar.
Geçmiş Geçmiş bilgileri için kullanılan özel biçimlendirilmiş alan ( Geçmiş alanı). Tam metin araması kullanılabilir olduğunda, bu alan tam metin sorguları için dizine eklenir. Bkz . Geçmiş ve denetim.
HTML Açıklama veya Yeniden Oluşturma Adımları gibi biçimlendirilmiş metinleri depolar. Tam metin araması kullanılabilir olduğunda, bu alanlar dizine eklenir. Zengin metin alanlarını sorgulamak için bkz . Başlıklara, kimliklere ve zengin metin alanlarına göre sorgulama.
Kimlik Kullanıcı kimliğini tanımlayan kısa bir metin dizesi depolar.
Tamsayı 0, 1, 2 veya 34 gibi imzalı bir 32 bitlik tamsayıyı depolar.
Düz Metin veya Metin alanı (çok satırlı) Uygulama Başlangıç Bilgileri gibi uzun metin değerlerini depolar. Bu alanlar desteklendiğinde tam metin araması için dizin oluşturur. Bkz . Başlıklara, kimliklere ve zengin metin alanlarına göre sorgulama.
picklistDouble Ondalık değerlerin seçim listesini tutan özel alan.
picklistInteger Tamsayı değerlerinin seçim listesini tutan özel alan.
picklistString Kısa metin değerlerinin (255 karakter veya daha az) seçim listesini tutan özel alan.
Dize veya Metin alanı (tek satır) En fazla 255 Unicode karakter uzunluğunda kısa metin depolar. Ekipler bu alanları genellikle seçim listeleri veya açılan menüler için kullanır.
TreePath Alan Yolu veya Yineleme Yolu gibi dallanma ağacını temsil eder. Geçerli bir düğüm değeri seçin. Eşit, eşit değil, "Altında" veya "Altında değil" ölçütlerine göre filtreleme yapabilirsiniz. Birden çok değer belirtmek için In ve Not In işleçlerini kullanın. Proje için ağaç yapılarını (alan yolları ve yineleme yolları) tanımlayın ve ekiplerle ilişkilendirilecek düğümleri seçin. Sorgu örnekleri için bkz . Alana veya yineleme yoluna göre sorgulama ve Tarihe veya geçerli yinelemeye göre sorgulama.

Not

Türler picklist... yalnızca devralınan bir işlem için tanımlanan özel alanlara uygulanır.

Tarih ve saat düzeni

DateTime alanları için girdiğiniz tarih ve saat deseni, profiliniz aracılığıyla seçtiğiniz tarih ve saat düzeniyle eşleşmelidir. Seçiminizi görüntülemek veya değiştirmek için bkz . Kullanıcı tercihlerini ayarlama.

Saat ve Yerel Ayar bölmesinde tarih düzeni açılan seçeneklerini gösteren ekran görüntüsü. Saat ve Yerel Ayar bölmesindeki Zaman Düzeni açılan seçeneklerini gösteren ekran görüntüsü.

Tarih deseni ve Saat deseni alanlarını içeren Saat ve Yerel Ayar bölmesini gösteren ekran görüntüsü.

Sorgu işleçleri

Bir yan tümce değerinin bir iş öğesinin alan değeriyle ilişkisini tanımlamak için işleçleri kullanın. Alan veri türleri için, İş öğesi alanı başvurusu'na bakın. Sorgu oluşturmayla ilgili yardım için bkz. Sorgu tanımlama.

Sorgu işleci Operatör eşleşen iş öğelerini geri döndürdüğünde Geçerli veri türleri
= Yan tümce değeriyle eşleşir. Sayı (Çift/Ondalık/GUID/Tamsayı), Dize, DateTime, TreePath
<> Koşul değeriyle eşleşmiyor. Sayı, Dize, DateTime, TreePath
> Yan tümce değerinden büyüktür. Sayı, Dize, DateTime
< Yan tümce değerinden küçüktür. Sayı, Dize, DateTime
>= Madde değerinden büyük veya ona eşittir. Sayı, Dize, DateTime
<= Koşul değerinden küçük veya buna eşittir. Sayı, Dize, DateTime
=[Alan] Belirtilen başka bir alandaki değerle eşleşir (aynı veri türü olmalıdır). Aynı veri türündeki bir alanın adı (Boole alanları eşitliği diğer alanlarla karşılaştırır).
<>[Alan] Belirtilen başka bir alandaki değerle eşleşmiyor. Aynı veri türündeki bir alanın adı.
>[Alan] Belirtilen başka bir alandaki değerden büyüktür. Aynı veri türündeki bir alanın adı.
<[Alan] Belirtilen başka bir alandaki değerden küçüktür. Aynı veri türündeki bir alanın adı.
>=[Alan] Belirtilen başka bir alandaki değerden büyük veya buna eşit. Aynı veri türündeki bir alanın adı.
<=[Alan] Belirtilen başka bir alandaki değerden küçük veya buna eşit. Aynı veri türündeki bir alanın adı.
İçerir Tam veya kısmi metin eşleşmesi içerir. String
İçermez Tam veya kısmi metin eşleşmesi içermez. String
Sözcük İçer Tam bir tümcecik veya sözcükle eşleşir (sondaki joker karakteri * destekler). Sınır: 100 karakter. Bu işleç tam metin dizini kullanır; Sunucu ve harmanlama gereksinimleri için bu makaledeki Tam metin bölümüne bakın. Tam metin araması için dizine alınan uzun metin alanları (Düz Metin, HTML, Geçmiş ve Başlık).
Sözcük İçermez Belirtilen tümceciği veya sözcükleri içeren öğeleri dışlar. Sınır: 100 karakter. Anahtar sözcükleri dahil etmek veya dışlamak için yan tümceleriyle Contains Words kullanın. Tam metin araması için dizine alınan metin alanları.
In Sınırlandırılmış kümedeki herhangi bir değerle eşleşir (işletim sistemi bölgesel liste ayırıcınızı kullanın( genellikle virgül). Sayı, Dize, DateTime, TreePath
Boş HTML alanının içerik içermediği (değer belirtilmeyen) öğelerle eşleşir. Azure Boards ve Azure DevOps Server için desteklenir. HTML
Boş Değil HTML alanının içerik içerdiği öğelerle eşleşir. Azure Boards ve Azure DevOps Server için desteklenir. HTML
Içinde Değil Sınırlandırılmış bir kümedeki değerleri dışlar (bölgesel liste ayırıcısını kullanın). Azure Boards ve Azure DevOps Server için desteklenir. Sayı, Dize, DateTime, TreePath
Grup İçinde Adlandırılmış bir grubun (ekip, güvenlik grubu veya kategori) üyesi olan değerlerle eşleşir. Örneğin, Katkıda Bulunanlar grubunu veya deseninde [Project Name]\Team Nameadlı bir ekip grubunu kullanın. Örnekler için bkz. Atamaya göre sorgulama veya iş akışı değişiklikleri . Grupta yalnızca Dize türü alanları veya İş Öğesi Türü ile kullanın. Hesabınız Microsoft Entra ID kullanıyorsa Microsoft Entra ID gruplarını kullanabilirsiniz ya da şirket içi için Active Directory gruplarını kullanabilirsiniz. Dize (grup veya ekip adıyla eşleşir) veya İş Öğesi Türü
Grupta Değil Adlandırılmış grubun üyelerini dışlar. Bir kullanıcı grubu veya proje kategorisiyle eşleşen dize.
Altında Değil Belirtilen ağaç düğümüne eşit veya altında yer alan öğeleri dışlar. TreePath
Altında Belirtilen ağaç düğümüne eşit veya altında bulunan öğelerle eşleşir. TreePath
Hiç Olmadı Bir alanın önceki herhangi bir zamanda tuttuğu değerle eşleşir. (Sorgu Düzenleyicisi: Yalnızca dize alanları. DateTime desteği doğrudan WIQL sorguları gerektirir.) Dize, DateTime

İpucu

İş Öğesi Sorgu Dili (WIQL) sorguları oluştururken, Yineleme Yolu gibi diğer veri türlerine karşı işleçler (örneğin, Was Ever) kullanabilirsiniz. Bir örnek için bkz. Sprint'in dışına taşınan iş öğelerini listeleme .

Yaygın operatör örnekleri

Çeşitli işleçler kullanan temsili sorgu örnekleri aşağıda verilmiştir:

Query İadeler
State = Active "Etkin" durumundaki iş öğeleri
Priority <> Low Düşük önceliğe sahip olanlar dışındaki tüm öğeler
Created Date >= @Today-7 Son 7 gün içinde oluşturulan iş öğeleri
Assigned To = @Me Geçerli kullanıcıya atanan öğeler
Tags Contains "frontend" Etiketi "frontend" içeren öğeler
State In (Active, In Progress) Her iki durumdaki öğeler
Area Path Under "Project\Web" Alt alanlar da dahil olmak üzere Web alanı altındaki tüm öğeler
Assigned To In Group "[Project]\Developers" Geliştiriciler grubundaki herkese atanan öğeler
Description Contains Words "urgent" Açıklamanın "acil" sözcüğünü içerdiği öğeler

Tam metin ve kısmi sözcük aramaları

Uzun metin alanlarında tam veya kısmi eşleşmeleri aramak için İçerir veya İçermez seçeneğini kullanın. Bu işleçler sorgu dizinini kullanır. Tam tümcecikleri aramak veya sondaki joker karakteri () kullanmak için Sözcük İçerir veya * seçeneğini kullanın. Bu işleçler tam metin dizini gerektirir.

Yalnızca kısmi bir sözcük veya tümceciğin sonunda joker karakter kullanabilirsiniz. Örnekler için bkz . Örnek iş öğesi sorguları ve Geçmiş alanını kullanarak iş öğelerini sorgulama.

Not

Tüm dağıtımlar tam metin aramayı desteklemez. Örneğin, SQL Express ve bazı bulut SQL yapılandırmaları tam metin aramayı desteklemez. Bu dağıtımlarda yalnızca İçerir ve İçermez işleçleri görünür.

Azure DevOps Server, temel SQL Server tam metin dizini oluşturmayı desteklediğinde, uzun metin alanlarını (Düz Metin ve HTML) ve tam metin araması için Başlık alanını dizinler.

Tam metin araması, kullandığınız dil için kayıtlı sözcük ayırıcısı olan bir SQL harmanlaması da gerektirir. Koleksiyon veritabanı harmanlaması desteklenen bir dille eşleşmiyorsa sonuçlar beklentilerle eşleşmeyebilir. Bu gibi durumlarda, bunun yerine İçerir veya İçermez seçeneğini kullanın.

Daha fazla bilgi için bkz . Tam Metin Arama Sorguları ve Harmanlama Ayarları.

İşleçleri birleştirme

Sorgular, birden çok koşulu birleştirmek için AND mantığını kullanır. Eklenen her koşul, sonuçları daha da daraltır. Örneğin:

  • State = Active AND Priority = High hem etkin hem de yüksek önceliğe sahip iş öğelerini döndürür.
  • State = Active AND State <> Closed kapalı olarak işaretlenenler hariç etkin öğeleri döndürür.
  • Assigned To = @Me AND State <> Done size atanmış olan ve tamamlanmamış öğeleri döndürür.

Doğrudan WIQL söz diziminde karmaşık sorguların koşullarını gruplandırmak için parantez kullanabilirsiniz:

  • (State = Active OR State = In Progress) AND Priority = High etkin veya devam eden durumlarda yüksek öncelikli öğeleri döndürür.

Diğer örnekler ve WIQL söz dizimi ayrıntıları için bkz. İş Öğesi Sorgu Dili (WIQL) için söz dizimi.

Sorun giderme ve yaygın hatalar

Sorun Olası Neden Çözüm
Makro sonuç döndürmez @CurrentIteration yalnızca web portalında çalışır; REST API'leri ve CLI boş sonuçlar döndürebilir Bunun yerine betiklerde veya API'lerde doğrudan tarihleri kullanın. Alternatifler için bkz . Tarihe veya geçerli yinelemeye göre sorgulama.
@TeamAreas sorgu beklenmeyen sonuçlar döndürüyor Makro yalnızca Alan Yolu alanıyla çalışır; diğer alanlarla birlikte kullanmanın hiçbir etkisi yoktur Filtrelemeyi Area Path üzerinde yaptığınızı doğrulayın. Bunun yerine Diğer ağaç yolu alanlarını (Yineleme Yolu) Under işleciyle kullanın.
Contains Words işleci hatası Sorgu 100 karakter sınırını aşıyor veya geçersiz joker karakter yerleşimi kullanıyor Sorgu metnini 100 karakterin altına düşürün. Joker karakterini başlangıçta değil, yalnızca terimin sonunda kullanın (örneğin, feature*).
Grup sorgusu başarısız oluyor Grup adı biçimi yanlış veya grup yok Tam biçimi kullanın: Assigned To In Group "[Project]\\Team Name" ekipler için. Proje ayarlarında grup adını doğrulayın.
Ever işleci tarihlerde çalışmıyor mu? Sorgu Düzenleyicisi DateTime alanlarını desteklemez Was Ever Görsel sorgu düzenleyicisi yerine doğrudan WIQL söz dizimi kullanın. Daha fazla bilgi için İş Öğesi Sorgu Dili (WIQL) söz dizimi'ne bakın.
Boole alan sorgusu sonuç döndürmez WIQL sorgularında değer büyük/küçük harfe duyarlıdır Tam büyük/küçük harf kullanın: CustomBoolField = True veya CustomBoolField = False (WIQL'de büyük T/F).

Makroları ve değişkenleri sorgulama

Sorguları dinamik olarak filtrelemek için aşağıdaki makroları kullanın.

Not

Aşağıdaki makrolar yalnızca web portalında desteklenir: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity ve @TeamAreas. Bu makroları içeren sorgular Visual Studio/Takım Gezgini, Microsoft Excel veya Microsoft Project açıldığında çalışmaz.

Makro Description
[Tümü] Tüm türlerde veya durumlarda arama yapmak için İş Öğesi Türü veya Durum ile kullanın. Örneğin, Work Item Type=[Any] tür tabanlı filtrelemeyi kaldırır.
@CurrentIteration Geçerli ekip bağlamını temel alarak geçerli sprint'teki iş öğelerini filtrelemek için Yineleme Yolu ile kullanın. Örnekler için bkz. Tarihe veya geçerli yinelemeye göre sorgulama . @CurrentIteration yalnızca web portalından çalıştırıldığında çalışır (REST API'lerinde veya bazı kopyalama/kopyalama işlemlerinde çalışmaz).
@CurrentIteration +/- n Geçerli yinelemeye göre sprint'leri eklemek için Yineleme Yolu ile kullanın (örneğin, @CurrentIteration-1 veya @CurrentIteration+2). Azure Boards ve Azure DevOps Server için web portalında desteklenir.
@Follows ID ve In işleci ile proje içinde takip ettiğiniz iş öğelerini listelemek için kullanın. Bkz. Çalışma öğesini veya çekme isteğini takip et. Bu makro yalnızca web portalından çalışır.
@Me Hesabınıza bağlı öğeleri filtrelemek için kimlik alanlarıyla birlikte kullanın (örneğin, Created By=@Me). Bkz . Atamaya, iş akışına veya pano değişikliklerine göre sorgulama.
@MyRecentActivity Son yaklaşık 30 gün içinde görüntülediğiniz veya güncellediğiniz iş öğelerini listelemek için ID ve In ile kullanın. Aynı liste için İş Öğeleri sayfası Etkinliğim özet sayfasına bakın.
@Project Geçerli projedeki iş öğelerini filtrelemek için Takım Projesi ile birlikte kullanın (örneğin, Team Project=@Project). Bkz. Projeler arasında sorgulama.
@RecentMentions ID ve In ile, Tartışmalar'da bahsedildiğiniz iş öğelerini listeleyin. İş Öğeleri sayfasındaki Bahsedilen sekmeye bakın.
@RecentProjectActivity Proje genelinde son güncellenen iş öğelerini listelemek için ID ile In kullanın. Makro en fazla 5.000 öğe döndürür; gerçek pencere proje etkinliğine bağlıdır.
@StartOfDay Bugüne göre filtrelemek için DateTime alanlarıyla kullanın (örneğin, Closed Date>=@StartOfDay-7).
@StartOfMonth Ayın başlangıcına göre filtrelemek için DateTime alanlarıyla kullanın (örneğin, Created Date>=@StartOfMonth-3).
@StartOfWeek Haftanın başlangıcına göre filtrelemek için DateTime alanlarıyla kullanın (örneğin, Changed Date>=@StartOfWeek-2).
@StartOfYear Yılın başlangıcına göre filtrelemek için DateTime alanlarıyla kullanın (örneğin, Target Date>=@StartOfYear).
@TeamAreas Yalnızca Alan Yolu ve = işleci ile kullanarak, bir ekibin alan yollarına atanan öğeleri bulmak için kullanın (örneğin, Area Path=@TeamAreas [Fabrikam Fiber]\Web). Azure Boards ve Azure DevOps Server için web portalında desteklenir.
@Today Bugüne göre filtrelemek için DateTime alanlarıyla kullanın (örneğin, Created Date>=@Today-7). Bkz . Tarihe veya geçerli yinelemeye göre sorgulama.

Yaygın makro örnekleri

Sorguları dinamik hale getirmek için makroları kullanan temsili sorgu örnekleri aşağıda verilmiştir:

Query İadeler (Web Portalı)
Iteration Path = @CurrentIteration Geçerli sprint'teki iş öğeleri
Iteration Path = @CurrentIteration-1 Önceki sprint'teki iş öğeleri
Assigned To = @Me Geçerli kullanıcıya atanan öğeler
Created Date >= @Today-30 Son 30 gün içinde oluşturulan öğeler
State = Active AND Area Path = @TeamAreas [Project]\MyTeam Ekibinizin alanındaki etkin öğeler
Work Item Type = [Any] Tüm iş öğesi türleri (tür filtrelemesini kaldırır)
Assigned To In Group @Follows Takip ettiğiniz kişilere atanan öğeler

Not

@CurrentIteration, @Me, @Follows ve @TeamAreas gibi makrolar yalnızca web portalında çalışır. REST API'ler, CLI ve Power BI için bunun yerine doğrudan tarihleri ve kullanıcı kimliklerini kullanın. Alternatifler için bkz . Tarihe veya geçerli yinelemeye göre sorgulama.

REST API

Sorgularla program aracılığıyla etkileşime geçmek için şu REST API kaynaklarından birine bakın: