Najlepsze rozwiązania dotyczące analizy
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Analiza to platforma raportowania dla usługi Azure DevOps, która umożliwia uzyskiwanie szczegółowych informacji z danych i podejmowanie decyzji opartych na danych. Analiza jest zoptymalizowana pod kątem szybkiego dostępu do odczytu i agregacji opartych na serwerze oraz udostępnia różne narzędzia do wizualizacji i analizowania danych. W tym artykule udostępniamy pewne najlepsze rozwiązania dotyczące korzystania z analizy w usłudze Azure DevOps.
Wymagania wstępne
- Dostęp: być członkiem projektu z co najmniej dostępem podstawowym.
- Uprawnienia: domyślnie członkowie projektu mają uprawnienia do wykonywania zapytań w usłudze Analytics i tworzenia widoków.
- Aby uzyskać więcej informacji na temat innych wymagań wstępnych dotyczących włączania usługi i funkcji oraz ogólnych działań śledzenia danych, zobacz Uprawnienia i wymagania wstępne dotyczące dostępu do analizy.
- Jeśli jesteś deweloperem rozszerzenia, zapoznaj się z wytycznymi dotyczącymi zapytań usługi OData Analytics.
Zapoznaj się z metadanymi analizy
Wykonaj zapytanie dotyczące metadanych analizy, aby poznać typy jednostek, zestawy jednostek, właściwości i wyliczone listy. Aby uzyskać więcej informacji, zobacz Query the Analytics service, OData metadata, and Entities and properties reference for Azure Boards (Wykonywanie zapytań o usługę Analytics, metadane OData analizy) i Entities and properties reference for Azure Boards (Dokumentacja jednostek i właściwości usługi Azure Boards).
Tworzenie struktury zapytania w celu zwrócenia potrzebnych danych
Aby wykonać zapytanie dotyczące minimalnego zestawu danych, należy utworzyć raport, wykonaj następujące rozwiązania:
- Wybierz zestaw jednostek obsługujący raport, który chcesz utworzyć
- Określanie części zapytań w kolejności ich wykonania
- Ogranicz żądane kolumny w zapytaniu
- Tworzenie zapytań w wersji zapoznawczej
- Ograniczanie zapytań do projektów, do których masz dostęp
Wybieranie zestawu jednostek do obsługi raportu
Chociaż istnieje kilka EntitySets
obsługiwanych w modelu danych analizy, tylko kilka jest używanych do generowania raportów.EntitySets
służy do tworzenia raportów w trzech kategoriach:
- Bieżący: zawiera informacje o bieżącej konfiguracji zawartej
EntityTypes
w obiekcieEntitySet
. - Migawka: jednostki złożone, które łączą dane historyczne i związane z datą. Jednostki migawek mają być używane do obsługi raportów agregacji.
- Poprawka: zawiera informacje historyczne. Na przykład
WorkItemRevision
przechowuje dane dotyczące historii elementów roboczych.
Poniżej przedstawiono szybką dokumentację dla parametru EntityTypes, aby określić obsługę raportów. Opis każdego z tych typów jednostek można znaleźć w temacie Model danych dla analizy.
Dane usługi Azure DevOps | Bieżąca | Snapshot | Wersja |
---|---|---|---|
Azure Boards | WorkItems |
WorkItemSnapshot WorkItemBoardSnapshot |
WorkItemRevisions |
Azure Pipelines | Pipelines PipelineTasks |
ParallelPipelineJobsSnapshot PipelineRuns , PipelineRunActivityResults |
|
Usługa Azure Pipelines i testy | TestResultsDaily |
TestRuns |
|
Azure Test Plans | Tests TestConfiguration TestPoints WorkItems |
TestResultsDaily TestPointHistorySnapshot |
Określanie części zapytań w kolejności ich wykonania
Zalecaną kolejnością dla różnych części zapytania jest określenie ich w następującej kolejności, czyli kolejności, w której są oceniane. Opis każdej części zapytania można znaleźć w temacie Query the Analytics service (Wykonywanie zapytań w usłudze Analizy) i Query options (Opcje zapytania).
$apply
$filter
$orderby
$expand
$select
$skip
$top
Wszystkie zapytania muszą zawierać klauzulę $apply
lub $select
. W przeciwnym razie może zostać wyświetlony komunikat ostrzegawczy.
Ogranicz żądane kolumny w zapytaniu
Należy określić kolumny danych, które mają być zwracane przy użyciu klauzuli $select
. W przypadku dostosowywania elementy robocze mogą mieć wiele pól skojarzonych z nimi. Więcej właściwości lub pól, do których odwołuje się zapytanie, tym droższe jest przetwarzanie. Rozważ raport, który chcesz wygenerować, i upewnij się, że żądasz tylko potrzebnych pól.
Aby na przykład zwrócić identyfikator, typ elementu roboczego, tytuł i stan dla filtrowanego zestawu elementów roboczych, określ następującą $select
klauzulę: $select=WorkItemId, WorkItemType, Title, State
.
Aby wyszukać listę właściwości i ich odpowiednich nazw pól, zobacz Jednostki i dokumentacja właściwości dla usługi Azure Boards.
Tworzenie zapytań w wersji zapoznawczej
Zapytania w wersji zapoznawczej to zapytania zwracające pojedynczy rekord lub mały podzbiór rekordów. Tworząc zapytanie w wersji zapoznawczej, możesz uściślić zapytanie, aby upewnić się, że żądasz potrzebnych danych. Zaczynając od minimalnej kwerendy, możesz utworzyć zapytanie, aby upewnić się, że określasz żądane rekordy i potrzebne dane kolumn.
Za pomocą apply=aggregate($count as Count)
elementu można zidentyfikować liczbę żądanych rekordów. Na przykład poniższa składnia wykonuje zapytanie dotyczące liczby elementów roboczych projektu Fabrikam Fiber .
https://analytics.dev.azure.com/content-learn/Content/_odata/v4.0-preview/WorkItems? $apply=aggregate($count as Count)
Odpowiedź zwraca łącznie 1415 elementów roboczych.
{
"@odata.context": "https://analytics.dev.azure.com/fabrikam/Fabrikam Fbier/_odata/v4.0-preview/$metadata#WorkItems(Count)",
"value": [
{
"@odata.id": null,
"Count": 1415
}
]
}
Ograniczanie zapytań do projektów, do których masz dostęp
Zapytania w zakresie projektu zwracają informacje o pojedynczym projekcie, natomiast zapytania w zakresie organizacji są przeznaczone do zwracania informacji, które przekraczają granice projektu. Zapytania w zakresie organizacji wymagają szerszych uprawnień użytkownika lub starannych ograniczeń określania zakresu, aby upewnić się, że zapytanie nie jest blokowane z powodu braku uprawnień projektu.
Jeśli masz dostęp do co najmniej jednego projektu, ale nie wszystkich projektów i przesyłasz zapytanie o zakresie organizacji, zostanie wyświetlony komunikat o błędzie.
"VS403496: The query results include data in one or more projects for which you do not have access. Add one or more projects filters to specify the project(s) you have access to in 'WorkItems' entity. If you're using $expand or navigation properties, project filter is required for those entities. More information can be found here: https://go.microsoft.com/fwlink/?LinkId=786441."
Aby uzyskać więcej informacji, zobacz Project and organization-scoped queries (Zapytania w zakresie projektu i organizacji).
Przeglądanie komunikatów ostrzegawczych i komunikatów o błędach
Analiza przegląda każde zapytanie odbierane z powodu naruszeń reguł. Zwraca komunikaty ostrzegawcze w przypadku wykrycia naruszenia. Zalecamy przejrzenie tych komunikatów, aby poprawić lub poprawić strukturę zapytań.
Limity szybkości i ograniczanie przepustowości
Zapytania wykonywane do analizy dla usług Azure DevOps Services podlegają limitom szybkości. Jeśli wysyła się zbyt wiele zapytań, które żądają zwrócenia dużych ilości danych w krótkim czasie, usługa może podlegać ograniczaniu przepustowości. Aby uzyskać więcej informacji, zobacz Rate and usage limits (Limity szybkości i użycia).
Możesz przejrzeć użycie usługi i dla użytkowników indywidualnych, przechodząc do pozycji Użycie ustawień>organizacji i wykonując filtry. Na przykład na poniższej ilustracji przedstawiono użycie przez narzędzie Jamal Hartnett do usługi Analytics.