Stosowanie reguł do stanów przepływu pracy (proces dziedziczenia)

Azure DevOps Services | Azure DevOps Server 2022 r. — Azure DevOps Server 2019 r.

Po dodaniu lub zmodyfikowaniu stanów przepływu pracy dla typu elementu roboczego możesz zdefiniować co najmniej jedną regułę, która jest stosowana w zależności od zmiany stanu przepływu pracy. Dodawanie reguł do stanów przepływu pracy obsługuje następujące scenariusze:

  • Obsługa procesu zatwierdzania
  • Zapobiegaj ustawieniu nieprawidłowego stanu przez nieautoryzowanych użytkowników
  • Wprowadź pole wymagane lub tylko do odczytu lub inną wartość na podstawie zmian stanu
  • Ograniczanie przejścia z jednego stanu do innego
  • Ograniczanie lub zezwalanie na przejścia stanu do określonych użytkowników lub grup
  • Obsługa kontrolowanego procesu przepływu pracy w celu obsługi wymagań dotyczących inspekcji
  • Automatyzowanie zamykania nadrzędnych elementów roboczych
  • Obsługa procesu zatwierdzania
  • Zapobiegaj ustawieniu nieprawidłowego stanu przez nieautoryzowanych użytkowników
  • Wprowadź pole wymagane lub tylko do odczytu lub inną wartość na podstawie zmian stanu
  • Ograniczanie przejścia z jednego stanu do innego
  • Automatyzowanie zamykania nadrzędnych elementów roboczych
  • Obsługa procesu zatwierdzania
  • Wprowadź pole wymagane lub tylko do odczytu lub inną wartość na podstawie zmian stanu
  • Automatyzowanie zamykania nadrzędnych elementów roboczych

Zapoznaj się z tym artykułem, aby dowiedzieć się, jak definiować reguły stosowane podczas zmiany stanu przepływu pracy.

  • Omówienie typów reguł przepływu pracy
  • Limity stanu i reguły przepływu pracy oraz najlepsze rozwiązania
  • Ustaw wartość pola lub ustaw pole tylko do odczytu lub wymagane na podstawie zaznaczenia stanu
  • Ograniczanie przejść stanu
  • Ograniczanie lub zezwalanie na przejścia stanu do określonych użytkowników lub grup
  • Automatyzowanie przechodzenia stanu nadrzędnych elementów roboczych
  • Omówienie typów reguł przepływu pracy
  • Limity stanu i reguły przepływu pracy oraz najlepsze rozwiązania
  • Ustaw wartość pola lub ustaw pole tylko do odczytu lub wymagane na podstawie zaznaczenia stanu
  • Ograniczanie przejść stanu
  • Automatyzowanie przechodzenia stanu nadrzędnych elementów roboczych
  • Omówienie typów reguł przepływu pracy
  • Limity stanu i reguły przepływu pracy oraz najlepsze rozwiązania
  • Ustaw wartość pola lub ustaw pole tylko do odczytu lub wymagane na podstawie zaznaczenia stanu
  • Automatyzowanie przechodzenia stanu nadrzędnych elementów roboczych

Ważne

Ten artykuł dotyczy Azure DevOps Services i wersji Azure DevOps Server 2019 i nowszych. Aby dostosować dowolny projekt zdefiniowany w kolekcji dla serwera TFS 2018 lub starszego, zobacz Lokalny model procesu XML.

Ważne

Model procesu dziedziczenia można używać tylko dla projektów zdefiniowanych w kolekcji projektów skonfigurowanych do obsługi modelu procesu dziedziczenia. Jeśli kolekcja lokalna jest skonfigurowana do korzystania z lokalnego modelu przetwarzania XML, można użyć go tylko do dostosowywania środowiska śledzenia pracy. Aby dowiedzieć się więcej, zobacz Dostosowywanie śledzenia pracy, Wybierz model procesu dla kolekcji projektów.

Aby dostosować dowolny projekt zdefiniowany w kolekcji dla serwera TFS 2018 lub starszego, zobacz Lokalny model procesu XML.

Reguły przepływu pracy

W poniższej tabeli przedstawiono trzy grupy reguł przepływu pracy, które można zdefiniować. Pierwsza grupa stosuje standardowe akcje podczas tworzenia elementu roboczego w wybranym stanie lub są przenoszone z jednego stanu do innego. Te standardowe akcje ustawiają wartość pola lub ustawiają pole tylko do odczytu lub wymagane. W tej grupie można określić jeden lub dwa warunki i kilka akcji.

Druga i trzecia grupa obsługują ograniczanie przejść stanu. Te dwie grupy umożliwiają określenie jednego i tylko jednego warunku wskazującego stan, do którego przeniesiono element roboczy. Następnie można określić jedną lub więcej akcji, aby ograniczyć przejście z tego stanu do innych stanów.

W poniższej tabeli przedstawiono dwie grupy reguł przepływu pracy, które można zdefiniować. Pierwsza grupa stosuje standardowe akcje podczas tworzenia elementu roboczego w wybranym stanie lub są przenoszone z jednego stanu do innego. Te standardowe akcje ustawiają wartość pola lub ustawiają pole tylko do odczytu lub wymagane. W tej grupie można określić jeden lub dwa warunki i kilka akcji.

Druga grupa obsługuje ograniczanie przejść stanu. W tej drugiej grupie można określić jeden i tylko jeden warunek wskazujący stan, do którego przeniesiono element roboczy. Następnie można określić jedną lub więcej akcji, aby ograniczyć przejście z tego stanu do innych stanów.

Uwaga

Niektóre funkcje wymagają instalacji aktualizacji Azure DevOps Server 2020.1. Aby uzyskać więcej informacji, zobacz informacje o wersji Azure DevOps Server 2020 Update 1 RC1, Boards.

Warunki i akcje przepływu pracy, które można ustawić, są ilustrowane na poniższych obrazach. Standardowe akcje można stosować po utworzeniu elementu roboczego w wybranym stanie lub przeniesieniu z jednego stanu do innego. Te standardowe akcje ustawiają wartość pola lub tworzą pole tylko do odczytu lub wymagane. Dla tego zestawu reguł można określić jeden lub dwa warunki i kilka akcji.


Warunek

Obsługiwane akcje


Ustaw wartość pola lub ustaw wartość tylko do odczytu/wymagane na podstawie stanu

Warunki, element roboczy jest tworzony

Akcje, element roboczy jest tworzony


Ograniczanie przejścia na podstawie stanu

Warunek, element roboczy jest przenoszony

Akcje, ograniczają transakcję na podstawie stanu.


Ukryj pole lub ustaw pole tylko do odczytu lub wymagane na podstawie członkostwa w stanie i użytkowniku lub grupie

Warunek, członkostwo w grupie użytkowników

Akcje, ograniczają transakcję na podstawie stanu i członkostwa.


Na podstawie członkostwa użytkownika lub grupy ustaw atrybut pola lub ogranicz przejście stanu

Warunek, członkostwo w grupie użytkowników

Akcje, ograniczają transakcję na podstawie stanu i członkostwa.


Uwaga

Podczas dostosowywania dziedziczonego procesu wszystkie projekty korzystające z tego procesu są aktualizowane automatycznie w celu odzwierciedlenia dostosowań. Z tego powodu zalecamy utworzenie procesu testowego i projektu testowego, gdy masz wiele dostosowań, które należy wprowadzić, aby przetestować dostosowania przed ich wdrożeniem w organizacji. Aby dowiedzieć się więcej, zobacz Tworzenie dziedziczynych procesów i zarządzanie nimi.

Limity stanu i reguły przepływu pracy

W poniższej tabeli podsumowano ograniczenia dotyczące stanów przepływu pracy i reguł w przypadku procesu dziedziczenia.

Obiekt Ograniczenie dziedziczenia
Typy elementów roboczych zdefiniowane dla procesu 64
Stany przepływów pracy zdefiniowane dla typu elementu roboczego 32
Reguły zdefiniowane dla typu elementu roboczego 1024

Podczas definiowania stanów przepływu pracy i reguł zalecamy rozważenie poniższych wskazówek w celu zminimalizowania problemów z wydajnością.

  • Zminimalizuj liczbę reguł zdefiniowanych dla funkcji WIT. Chociaż można utworzyć wiele reguł dla typu elementu roboczego, dodawanie reguł może negatywnie wpływać na wydajność, gdy użytkownik dodaje i modyfikuje elementy robocze. Gdy użytkownicy zapisują elementy robocze, system weryfikuje wszystkie reguły skojarzone z polami dla typu elementu roboczego. W pewnych warunkach wyrażenie weryfikacji reguły jest zbyt złożone, aby aparat SQL mógł je ocenić.
  • Zminimalizuj liczbę zdefiniowanych niestandardowych typów elementów roboczych.

Reguły przepływu pracy są stosowane podczas dodawania lub modyfikowania elementów roboczych za pomocą dowolnego z następujących interfejsów:

  • Portal internetowy: formularz elementu roboczego, aktualizacje zbiorcze, aktualizacje w widoku zapytania
  • Portal internetowy: tablica Kanban lub tablica zadań, przenieś element roboczy do kolumny
  • Formularz elementu roboczego programu Visual Studio 2017 i starszej wersji
  • Format pliku CSV: zbiorcze importowanie lub aktualizowanie
  • Excel: zbiorcze importowanie lub aktualizowanie
  • Interfejs API REST: dodawanie lub modyfikowanie elementów roboczych

Definiowanie reguły

Przed zdefiniowaniem reguły opartej na stanach przepływu pracy należy najpierw zdefiniować następujące elementy:

Aby zapoznać się z podstawami definiowania reguł, zobacz Dodawanie reguły niestandardowej. Musisz spełnić wymagania wstępne zdefiniowane w tym artykule.

Ustaw wartość pola lub ustaw pole tylko do odczytu lub wymagane

Przy pierwszym zgrupowaniu reguł można określić jeden lub dwa warunki i maksymalnie 10 akcji na regułę.

Przykład zapewnienia zatwierdzenia przez zespół przed aktywną pracą

W tym przykładzie zespoły deweloperskie chcą upewnić się, że żadne informacje o użytkowniku nie są opracowywane do momentu zatwierdzenia przez lidera zespołu. Domyślne stany przepływu pracy są używane i dodawane są tylko jedno pole niestandardowe, Zatwierdzone przez i grupa zabezpieczeń, Grupa potencjalnych klientów zespołu.

Domyślne stany przepływu pracy

Proces Agile, historia użytkownika, domyślny stan przepływu pracy

Wymagania dotyczące reguły

Aby zapewnić zatwierdzenie przed aktywną pracą, należy zdefiniować następujące reguły:

  • Wymagaj, aby pole Zatwierdzone według zostało wypełnione, gdy stan przechodzi z obszaru Nowy do Aktywnego
  • Ogranicz użytkowników, którzy nie należą do grupy potencjalnych klientów zespołu, aby wypełnić pole Zatwierdzone według
  • Wyczyść pole Zatwierdzone według , gdy stan zostanie przeniesiony do obszaru Nowy lub Usunięty

Definicje reguł

Wymagania dotyczące reguły tłumaczą się na następujące cztery definicje reguł.

   


Nazwa reguły

Warunek

Akcje


Zatwierdzone przez wyczyszczone, gdy nowy

Kiedy A work item state changes to New

Następnie Clear the value of Approved By

Zatwierdzone przez wyczyszczone po usunięciu

Kiedy A work item state changes to Removed

Następnie Clear the value of Approved By

Zatwierdzone przez tylko do odczytu

Kiedy Current user is not member of group Team Leads Group

Następnie Make read-only Approved By

Zatwierdzone przez wymagane

Kiedy A work item state changes from New to Active

Następnie Make required Approved By


Ograniczanie przejść stanu

Podczas określania warunku A work item state moved from ...można określić tylko ten warunek. Możesz określić maksymalnie 10 akcji.

Uwaga

Ta funkcja wymaga aktualizacji Azure DevOps Server 2020.1 lub nowszej wersji.

Przykład ograniczania przejścia stanu i stanu Zatwierdzone

Zgodnie z terminologią używaną przez grupę biznesową następujące stany przepływu pracy są definiowane dla scenariusza użytkownika. Stany odziedziczone w nowych, rozwiązanych i usuniętych są ukryte. Zamiast tego są używane stany proponowane, w przeglądzie i wycinaniu . Ponadto zdefiniowano trzy dodatkowe stany: Badanie, projektowanie i zatwierdzanie. Te stany powinny postępować zgodnie z sekwencją, jak pokazano na poniższej ilustracji.

Historia użytkownika, stany przepływu pracy

Bez żadnych ograniczeń użytkownicy mogą przechodzić z jednego stanu do innego stanu, zarówno do przodu, jak i do tyłu w ramach sekwencji.

Wymagania dotyczące reguły

Aby obsługiwać bardziej kontrolowany przepływ pracy, grupa biznesowa zdecydowała się na utworzenie reguł, które będą obsługiwać następujące przejścia do przodu i odwrotnego stanu w typie elementu roboczego Scenariusz użytkownika.

  • Proponowana opcja może przejść tylko do badań i wycinania
  • Badania mogą przejść tylko do projektu i cięcia
  • Projekt może przejść tylko do badań, zatwierdzonych i wycinanych
  • Zatwierdzone może przejść tylko do projektu, aktywnego i wycinania
  • Aktywny może przejść tylko do obszaru W przeglądzie
  • W obszarze Recenzja można przejść tylko do aktywnej (znaleziono dodatkową pracę), zamknięte lub wycięte
  • Zamknięte może przejść do obszaru Badania, Projektowanie, Aktywne, Przeglądanie (umożliwia przypadki, w których użytkownik zamknął element roboczy w błędzie)
  • Wycinanie może przejść tylko do proponowanego.

Uwaga

Podczas ograniczania przejścia stanu należy wziąć pod uwagę te przypadki, w których użytkownik przenosi stan w błędzie. Chcesz, aby użytkownicy mogli bezpiecznie odzyskać dane.

Ponadto grupa biznesowa chce zastosować reguły dla wymaganych pól:

  • Wymagaj wypełnienia pola Zatwierdzone przez , gdy stan zostanie przeniesiony z Zatwierdzone do Aktywne
  • Zezwalaj tylko użytkownikom należącym do grupy Autoryzowane osoby zatwierdzające, aby wypełnić pole Zatwierdzone przez
  • Wyczyść pole Zatwierdzone według , gdy stan zostanie przeniesiony do obszaru Wycinanie
  • Wymagaj, aby kryteria akceptacji były wypełniane, gdy stan zostanie przeniesiony do aktywnej

Definicje reguł

Aby zaimplementować powyższe ograniczenia, administrator procesu dodaje niestandardowe pole Zatwierdzone przez tożsamość, grupę zabezpieczeń Autoryzowane osoby zatwierdzające i następujące jedenaście reguł.

   


Nazwa reguły

Warunek

Akcje


Proponowany stan

Kiedy A work item state moved from Proposed

Następnie Restrict the state transition to Design
I Restrict the state transition to Approved
I Restrict the state transition to Active
I Restrict the state transition to In Review
I Restrict the state transition to Closed

Stan badań

Kiedy A work item state moved from Research

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Approved
I Restrict the state transition to Active
I Restrict the state transition to In Review
I Restrict the state transition to Closed

Stan projektu

Kiedy A work item state moved from Design

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Research
I Restrict the state transition to Active
I Restrict the state transition to In Review
I Restrict the state transition to Closed

Stan zatwierdzony

Kiedy A work item state moved from Approved

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Research
I Restrict the state transition to Design
I Restrict the state transition to In Review
I Restrict the state transition to Closed

Stan aktywny

Kiedy A work item state moved from Active

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Research
I Restrict the state transition to Design
I Restrict the state transition to Approved
I Restrict the state transition to Closed

W obszarze Stan przeglądu

Kiedy A work item state moved from In Review

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Research
I Restrict the state transition to Design
I Restrict the state transition to Approved

Stan zamknięty

Kiedy A work item state moved from Closed

Następnie Restrict the state transition to Proposed
I Restrict the state transition to Cut

Stan wycinania

Kiedy A work item state moved from Cut

Następnie Restrict the state transition to Research
I Restrict the state transition to Design
I Restrict the state transition to Approved
I Restrict the state transition to Active
I Restrict the state transition to In Review
I Restrict the state transition to Closed

Pola wymagane przez zatwierdzony stan

Kiedy A work item changes from Approved to Active

Następnie Make required Acceptance Criteria
I Make required Approved By

Autoryzowane osoby zatwierdzające

Kiedy Current user is not a member of Authorized Approvers

Następnie Make read-only Approved By

Wyczyść pole Zatwierdzone przez

Kiedy A work item state changes to Cut

Następnie Clear the value of Approved By


Weryfikowanie ograniczeń przejścia stanu

Po zdefiniowaniu reguł dla procesu i zaktualizowaniu projektu wraz z procesem odśwież przeglądarkę i sprawdź operacje za pomocą formularza elementu roboczego i przeglądarki Kanban.

W przypadku reguł zdefiniowanych w poprzedniej tabeli powinny zostać wyświetlone następujące menu rozwijane Stan. Otwórz tablicę Kanban i sprawdź możliwość przejścia z jednego stanu do innego.

Proponowane Badania Projekt Approved (Zatwierdzono)
Proponowane menu Menu Badań Menu Projektu Zatwierdzone menu
Aktywny W przeglądzie Zamknięta Cut
Aktywne menu W menu Przegląd Zamknięte menu Menu wytnij

Ograniczanie przejścia stanu na podstawie członkostwa użytkownika lub grupy

Podczas określania jednego z dwóch warunków na podstawie członkostwa Current user is member of group ... użytkownika lub grupy lub Current user is not member of group ...można określić tylko jeden warunek. Ponadto w przypadku określenia akcji Restrict the transition to state...można określić tylko jedną akcję.

Uwaga

Elementy robocze podlegają regułom zastosowanym do nich. Reguły warunkowe oparte na członkostwie użytkowników lub grupach są buforowane dla przeglądarki internetowej. Jeśli masz ograniczenie do aktualizowania elementu roboczego, być może napotkano jedną z tych reguł. Jeśli uważasz, że wystąpił problem, który cię nie dotyczy, zobacz Problemy z buforowaniem w formularzu elementu roboczego IndexDB.

Automatyzowanie przechodzenia stanu nadrzędnych elementów roboczych

Aby zautomatyzować przejścia stanu nadrzędnych elementów roboczych na podstawie przypisań stanu wykonanych do podrzędnych elementów roboczych, możesz dodać element webhook i użyć kodu i konfiguracji podanego w projekcie GitHub Automatyzowanie przejść stanu .

Uwaga

Projekt GitHub Automate State Transitions nie jest obsługiwaną funkcją Azure Boards i dlatego nie jest obsługiwana przez zespół produktu. W przypadku pytań, sugestii lub problemów, które masz podczas korzystania z tych rozszerzeń, zgłoś je na stronie projektu GitHub.

Automatyzowanie ponownego przypisania na podstawie zmiany stanu

Typ elementu roboczego procesu Agile miał wcześniej regułę, która ponownie przypisała usterkę do osoby, która ją utworzyła. Ta reguła została usunięta z domyślnego procesu systemowego. Możesz przywrócić regułę lub dodać podobną regułę do innych typów elementów roboczych przy użyciu następującego warunku i akcji:

KiedyA work item state changes toRozwiązano ten problem,a następnieCopy the value from utworzono przezw celuprzypisania do.

Uwaga

Możesz przejrzeć zmiany wprowadzone w dziedziczym procesie za pośrednictwem dziennika inspekcji. Aby dowiedzieć się więcej, zobacz Access, export, and filter audit logs (Uzyskiwanie dostępu, eksportowanie i filtrowanie dzienników inspekcji).