Udostępnij za pośrednictwem


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.

Kategoria Wymagania
poziomy dostępu - Członek projektu.
— Co najmniej podstawowy dostęp.
Uprawnienia użytkownika 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 Zapytania do usługi Analytics, Metadane OData analizy i Dokumentację jednostek i właściwości dla Azure Boards.

Tworzenie struktury zapytania w celu zwrócenia potrzebnych danych

Aby zapytać o minimalny zestaw danych potrzebny do utworzenia raportu, zastosuj poniższe praktyki:

Wybierz zestaw jednostek do obsługi raportu

Chociaż istnieje kilka EntitySets obsługiwanych w modelu danych Analytics, tylko niewiele jest używanych do generowania raportów. EntitySets służy do tworzenia raportów w trzech kategoriach:

  • Bieżący: Zawiera informacje o aktualnej konfiguracji EntityTypes, która znajduje się w EntitySet.
  • Migawka: Elementy złożone, które łączą dane historyczne i datowane. Elementy migawkowe mają być używane do wspomagania raportów zbiorczych.
  • Poprawka: zawiera informacje historyczne. Na przykład WorkItemRevision przechowuje dane dotyczące historii elementów roboczych.

Poniżej przedstawiono szybką referencję dla EntityTypes do określenia obsługi 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 Migawka Poprawka
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, Query options (Opcje zapytania).

  1. $apply
  2. $filter
  3. $orderby
  4. $expand
  5. $select
  6. $skip
  7. $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 precyzyjnych ograniczeń zakresu, aby upewnić się, że zapytanie nie zostało zablokowane 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 Zapytania w zakresie projektu i organizacji.

Przeglądanie komunikatów ostrzegawczych i komunikatów o błędach

Analizy sprawdzają każde otrzymywane zapytanie pod kątem naruszenia reguł. Zwraca komunikaty ostrzegawcze w przypadku wykrycia naruszenia. Zalecamy przejrzenie tych komunikatów, aby skorygować lub ulepszyć 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 Limity stawki i użycia.

Możesz przejrzeć użycie usługi oraz dla użytkowników indywidualnych, przechodząc do ustawienia organizacji, i stosując filtry. Na przykład na poniższej ilustracji przedstawiono użycie usługi Analytics przez Jamala Hartnetta.

Zrzut ekranu przedstawiający stronę Użycie dla pojedynczego użytkownika i analizy.