Udostępnij za pośrednictwem


Zarządzanie polami elementów roboczych

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

Ważne

W przypadku lokalnego modelu procesów XML można użyć narzędzia witadmin do wyświetlania listy, importowania, eksportowania i modyfikowania procesu dla projektu. W przypadku modeli procesów Dziedziczone i Hostowane xml można używać tylko narzędzia witadmin do wyświetlania listy i eksportowania informacji o procesie. Aby zapoznać się z omówieniem modeli procesów i obsługiwanymi elementami, zobacz Dostosowywanie środowiska śledzenia pracy.

Możesz zarządzać polami zdefiniowanymi dla typów elementów roboczych zdefiniowanych dla kolekcji projektów (lokalny kod XML) przy użyciu następujących poleceń witadmin . Jeśli chcesz dodać pole globalne (prawidłowe dla lokalnego kodu XML), możesz to zrobić, modyfikując globalny plik przepływu pracy i importując je do kolekcji.

  • changefield: zmienia co najmniej jeden atrybut pola. Po zmianie jednego z następujących atrybutów należy zmienić go dla wszystkich typów elementów roboczych i projektów w kolekcji projektów:
    • Typ danych lub PlainText HTML pola.

      Ważne

      Podczas uaktualniania serwera Team Foundation Server z wcześniejszej wersji do bieżącej wersji przypisanie typu pola Opis (System.Description) jest automatycznie konwertowane z PlainText na HTML. changefield Za pomocą polecenia możesz przywrócić zawartość tego pola, aby wyświetlić zwykły tekst.

    • Przyjazna nazwa wyświetlana w zapytaniu elementu roboczego. Ta nazwa może się różnić od tej wyświetlanej w formularzu elementu roboczego.

    • Atrybuty raportowania, które zawierają nazwę pola wyświetlanego w raporcie, nazwę raportu referencyjnego i typ raportowania.

    • Synchronizacja z usługą Active Directory — można włączyć/wyłączyć synchronizację pól nazw osób.

  • deletefield: usuwa określone pole.
  • listfields: Wyświetla listę atrybutów dla wszystkich pól lub określonego pola.

Uwaga

Polecenie witadmin indexfield zostało wycofane z usługą Azure DevOps Server 2019 i nowszymi wersjami. Pola indeksowania nie są już wymagane.

witadmin Uruchamianie narzędzia wiersza polecenia

Aby uruchomić witadmin narzędzie wiersza polecenia, otwórz okno wiersza polecenia, w którym jest zainstalowany program Visual Studio. Narzędzie witadmin wiersza polecenia jest instalowane z dowolną wersją programu Visual Studio. Dostęp do tego narzędzia można uzyskać, instalując bezpłatną wersję programu Visual Studio Community lub Visual Studio Team Explorer.

Uwaga

Aby nawiązać połączenie z usługą Azure DevOps Services, zalecamy użycie najnowszej wersji programu Visual Studio lub Visual Studio Community.

Uwaga

Aby nawiązać połączenie z serwerem lokalnym, zalecamy użycie tej samej lub nowszej wersji programu Visual Studio co serwer Usługi Azure DevOps. Jeśli na przykład połączysz się z usługą Azure DevOps Server 2019, połącz się z projektem z wersji programu Visual Studio 2019.

Dla programu Visual Studio 2022

%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

lub Professional Enterprise zamiast programu , w zależności od zainstalowanej Communitywersji.

Dla programu Visual Studio 2019

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

lub Professional Enterprise zamiast programu , w zależności od zainstalowanej Communitywersji.

Dla programu Visual Studio 2017

%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

lub TeamExplorer Professional zamiast programu , w zależności od zainstalowanej Enterprisewersji.

W 32-bitowej wersji systemu Windows zastąp ciąg %programfiles(x86)% ciągiem %programfiles%. Możesz zainstalować program Visual Studio Community (który zapewnia dostęp do programu Team Explorer) lub Visual Studio Team Explorer 2017 bezpłatnie.

Aby zapoznać się z omówieniem pól zdefiniowanych w domyślnym szablonie procesu, zobacz Indeks pola elementu roboczego.

Napiwek

Za pomocą narzędzia witadmin można importować i eksportować pliki definicji. Inne narzędzia, których można użyć, obejmują Edytor procesów (wymaga zainstalowania wersji programu Visual Studio). Zainstaluj edytor szablonu procesu z witryny Visual Studio Marketplace.

Wymagania wstępne

  • Aby wyświetlić listę pól, musisz mieć uprawnienie Wyświetl informacje na poziomie projektu dla projektu w kolekcji ustawione na Zezwalaj.
  • Aby usunąć lub zmienić nazwę pól lub zmienić atrybut pola, musisz być członkiem grupy zabezpieczeń Administratorzy team Foundation lub grupy zabezpieczeń Administratorzy kolekcji projektów.

Aby uzyskać więcej informacji, zobacz Zmiana uprawnień na poziomie kolekcji projektów.

Uwaga

Nawet jeśli logujesz się przy użyciu uprawnień administracyjnych, musisz otworzyć okno wiersza polecenia z podwyższonym poziomem uprawnień, aby wykonać tę funkcję na serwerze z systemem Windows Server 2008. Aby otworzyć okno wiersza polecenia z podwyższonym poziomem uprawnień, wybierz pozycję Uruchom, otwórz menu skrótów wiersza polecenia, a następnie wybierz polecenie Uruchom jako administrator. Aby uzyskać więcej informacji, zobacz witrynę sieci Web firmy Microsoft: Kontrola dostępu użytkowników.

Składnia

witadmin changefield /collection:CollectionURL /n:RefName   [/name:NewName]    [/syncnamechanges:true | false]   [/reportingname:ReportingName]    [/reportingrefname:ReportingRefName]   [/reportingtype:Type]   [/reportingformula:Formula]   [/type:PlainText | HTML]   [/noprompt]  

witadmin deletefield /collection:CollectionURL /n:RefName [/noprompt]  

witadmin listfields /collection:CollectionURL /n:RefName [/unused]  

Parametry

Parametr Opis
/collection:CollectionURL Określa identyfikator URI kolekcji projektu. Na przykład:

Format lokalny: http://ServerName:Port/VirtualDirectoryName/CollectionName
Jeśli nie jest używany katalog wirtualny, użyj następującego formatu: http://ServerName:Port/CollectionName.
/n:RefName
/n:Name
Nazwa odwołania pola typu elementu roboczego.
/index Określa, aby włączyć lub wyłączyć indeksowanie dla określonego pola. Określ , aby włączyć indeksowanie i wyłączyć , aby wyłączyć indeksowanie.
/name:NewName Określa nową nazwę pola.
/syncnamechanges Określa, aby używać pola elementu roboczego do przechowywania nazw i aktualizowania w miarę wprowadzania zmian w usłudze Active Directory lub grupie roboczej. Ta opcja jest prawidłowa tylko wtedy, gdy dla pola z typem danych ciąg jest określony .typename

Określ true , aby włączyć synchronizację dla pola danych, określ false , aby wyłączyć synchronizację dla pola danych.
/reportingname:ReportingName Określa nazwę pola w magazynie danych, które ma być używane do raportowania.
/reportingrefname:ReportingRefName Określa nazwę odwołania pola w magazynie danych, które ma być używane do raportowania.
/reportingtype:Type Określa sposób użycia pola w magazynie na potrzeby raportowania. Następujące wartości są prawidłowe:

- dimension: Używane dla pól Liczba całkowita, Ciąg lub Data/Godzina.
- detail: Służy do pól Liczba całkowita, Podwójna, Ciąg lub Data/Godzina.
- measure: Używane dla pól Liczba całkowita i Podwójna. Domyślny typ agregacji to suma. Możesz określić inny typ agregacji przy użyciu parametru formuły.
- none: Służy do wyłączania raportów w polu.

Aby uzyskać więcej informacji, zobacz About work item fields and attributes (Informacje o polach i atrybutach elementu roboczego).
/reportingformula:Formula Określa formułę agregacji, która ma być używana, gdy pole jest zgłaszane jako measure. Jedyną obsługiwaną formułą jest sum.
/type:HTML | PlainText Określa, aby przekonwertować zawartość pola z PlainText na HTML lub z HTML na PlainText. Tę opcję można określić tylko dla pól, których przypisanie typu to PlainText lub HTML. Zobacz odwołanie do elementu FIELD (Definition).
/unused Wyświetla listę wszystkich pól, które nie są używane przez żaden projekt zdefiniowany w kolekcji projektów.
/noprompt Wyłącza monit o potwierdzenie.
/? lub help Wyświetla pomoc dotyczącą polecenia w oknie wiersza polecenia.

Synchronizowanie nazwisk osób z usługą Active Directory

Należy ręcznie włączyć synchronizację dowolnych niestandardowych pól elementów roboczych, które są używane do przypisywania nazwisk osób odwołujących się do usługi Active Directory. Należy włączyć synchronizację dla każdego pola dla każdej kolekcji projektów zawierającej pola niestandardowe.

Wszystkie pola odwołań systemowych, które pokazują nazwy osób, mają atrybut syncnamechanges ustawiony na true. Takie pola obejmują System.AuthorizedAs, System.AssignedTo, System.ChangedBy i System.CreatedBy. Synchronizacja włączona dla każdego pola nazwy osoby zdefiniowanego w jednym z domyślnych szablonów procesów. Aby uzyskać więcej informacji, zobacz Pola przypisania i przepływu pracy.

Po włączeniu synchronizacji pole nie zawiera już ciągu statycznego. Zamiast tego w polu jest wyświetlana nazwa skojarzona z kontem użytkownika. Po zmianie nazwy użytkownika w usłudze Active Directory lub w grupie roboczej pole z syncnamechanges ustawioną wartością true automatycznie wyświetla nową nazwę.

Po przypisaniu atrybutu syncnamechanges do pola Ciąg pole zawsze akceptuje prawidłowe nazwy użytkowników. Jednak pole nie zezwala na nazwy grup, które są przechowywane w programie Team Foundation Server lub w usłudze Active Directory, jeśli którykolwiek z następujących warunków:true

  • Reguła VALIDUSER jest określana we wszystkich typach elementów roboczych

  • Reguła VALIDUSER jest określana dla typu elementu roboczego

  • Reguła ALLOWEDVALUES jest określana dla typu elementu roboczego, a reguła ma kryteria filtrowania, które wyklucza grupy

    Aby uzyskać więcej informacji, zobacz Wszystkie elementy FIELD.

Atrybuty, które można zmienić dla każdego typu elementu roboczego

Należy zmienić następujące atrybuty lub wartości zdefiniowane dla pola, zmieniając definicję typu elementu roboczego, w której pojawia się pole:

Przykłady

Jeśli nie określono inaczej, następujące wartości mają zastosowanie w każdym przykładzie:

  • Identyfikator URI kolekcji projektów: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • Nazwa pola elementu roboczego: AdventureWorks.Field
  • Kodowanie domyślne: UTF-8

Pola listy

Użyj witadmin listfields polecenia , aby wyświetlić zestaw używanych pól, aby wybrać jeden do dodania do typu elementu roboczego. Ponadto można wyświetlić listę przypisań atrybutów zdefiniowanych dla określonego pola i określić, które pola są używane przez które projekty.

Wyświetlanie atrybutów pola elementu roboczego

  • Wprowadź następujące polecenie, aby wyświetlić listę atrybutów zdefiniowanych dla określonego pola, na przykład Microsoft.VSTS.Common.Issue.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Issue  
    

    Informacje o polach i atrybutach są wyświetlane dla nazwanego pola, jak pokazano w tym przykładzie.

    Field: Microsoft.VSTS.Common.Issue  
    Name: Issue  
    Type: String  
    Reportable As: dimension  
    Use: Adventure Works (Shared Steps), AW Future (Shared Steps), AW Current (Shared Steps)  
    Indexed: False  
    

    Parametr Use wskazuje nazwę każdego projektu i typ elementu roboczego, w którym jest używane pole. Aby uzyskać więcej informacji na temat atrybutów pól, zobacz Indeks pól elementów roboczych.

Wyświetlanie listy wszystkich pól w kolekcji projektów

  • Wprowadź następujące polecenie, aby wyświetlić listę wszystkich pól zdefiniowanych dla kolekcji projektów.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection  
    

    Wyświetlane są informacje o polu dla wszystkich pól kolekcji nazwanych projektów. Zobacz Indeks pól elementów roboczych.

Wyświetlanie listy pól, które nie są używane

  • Wprowadź następujące polecenie, aby wyświetlić listę pól, które nie są już używane w kolekcji projektów przez dowolny typ elementu roboczego.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /unused  
    

    Informacje o polach i atrybutach są wyświetlane dla każdego pola, które nie jest używane, jak pokazano w tym przykładzie.

    Field: Microsoft.VSTS.CMMI.TaskType  
    Name: Task Type  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Flag  
    Name: Flag  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
    Field: Microsoft.VSTSUE.Common.Progress  
    Name: Progress  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    

Zmienianie nazwy pola

Przyjazną nazwę pola elementu roboczego można zmienić tak, aby spełniała konwencje nazewnictwa używane przez zespół. Należy pamiętać, że nowa nazwa jest stosowana do wszystkich typów elementów roboczych odwołujących się do zmienionego pola we wszystkich projektach w kolekcji projektów. Przyjazna nazwa jest wyświetlana podczas definiowania kryteriów filtru w zapytaniu elementu roboczego. Nazwa wyświetlana w formularzu elementu roboczego może być inna niż przyjazna nazwa zdefiniowana dla pola.

Aby zmienić nazwę pola elementu roboczego

  1. Wprowadź następujące polecenie, aby zmienić nazwę przyjaznej nazwy przypisanej do Microsoft.VSTS.Common.Rank ważnej rangi.

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:Microsoft.VSTS.Common.Rank /name:"Important Rank"  
    
  2. W wierszu polecenia potwierdzenia wpisz y , a następnie naciśnij ENTER. Poczekaj na otrzymanie następującego komunikatu:

    Zmieniono nazwę pola.

Aby zweryfikować zmiany zaimportowane do pojedynczego projektu

  1. W programie Team Explorer wybierz pozycję Odśwież Odśwież.

    Najnowsze aktualizacje są pobierane z serwera, w tym zmiany wprowadzone właśnie w nazwie pola. Poczekaj kilka sekund na zakończenie odświeżania.

  2. Wybierz pozycję Nowe zapytanie , aby utworzyć zapytanie.

  3. W Edytor Power Query wybierz link Kliknij tutaj, aby dodać link klauzuli, aby dodać wiersz, wybierz pustą komórkę Pole, a następnie w komórce wpisz Rank. Poniższy komunikat, który pojawia się powyżej listy wyników. Ten komunikat wskazuje, że nie można odnaleźć rangi.

    Uruchom zapytanie, aby wyświetlić wyniki zapytania. TF51005: Zapytanie odwołuje się do pola, które nie istnieje. Błąd jest spowodowany przez <<rangę>>.

  4. Usuń wartość Rank (Ranga ) z komórki Field (Pole ) i wpisz wartość Important Rank (Ważna ranga ) w komórce.

  5. Wybierz <> w komórce Operator i wpisz wartość 1 w komórce Wartość .

  6. Na pasku narzędzi Zapytanie wybierz pozycję Uruchamianie zapytaniaUruchom.

  7. Otwórz menu skrótów dla dowolnego wiersza w wynikach i wybierz pozycję Opcje kolumny. Przewiń w dół na liście Dostępne kolumny . Zwróć uwagę, że pole Ranga nie jest już obecne, ale pole Ważne rangi jest obecne.

  8. Wybierz pozycję Ważna ranga w polu Dostępne kolumny , a następnie wybierz > przycisk (dodaj wybrane kolumny). Wybierz pozycję OK.

    Zwróć uwagę, że przyjazna nazwa microsoft.VSTS.Common.Rank została zmieniona z Rank na Important Rank (Ranga) na Important Rank (Ranga) w konstruktorze zapytań i na liście wyników.

  9. Zamknij zapytanie. Wybierz pozycję Nie po wyświetleniu monitu o zapisanie zapytania.

  10. Utwórz nowy element roboczy zadania. Wybierz link Nowe elementy robocze, a następnie wybierz pozycję Zadanie.

    Ten element roboczy jest tworzony na podstawie typu elementu roboczego, który został zmieniony i zaimportowany.

  11. Zwróć uwagę, że w polu Stan etykieta dla zmienionego pola Ranga nie uległa zmianie. Dzieje się tak, ponieważ etykiety pól w formularzach elementów roboczych są ograniczone do projektu nadrzędnego i są niezależne od nazwy pola całego serwera.

    Uwaga

    Aby uzyskać więcej informacji na temat zmieniania etykiet pól w formularzach elementów roboczych, zobacz Dokumentacja elementów XML kontrolki.

  12. Zamknij nowe zadanie i wybierz pozycję Nie po wyświetleniu monitu o zapisanie elementu roboczego.

Zmienianie raportu jako wartości pola

Następujące polecenie określa możliwość raportowania typu pola DateTime AdventureWorks.CreatedOn do wymiaru. Dane tego pola wprowadzają bazy danych magazynu i usług Analysis Services, aby można je było używać do filtrowania raportów.

witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.CreatedOn /reportingtype:dimension  

Następujące polecenie określa możliwość raportowania typu pola Double AdventureWorks.Field do mierzenia. Wszystkie miary są agregowane według sumy.

witadmin reportfield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field /reportingtype:measure  

Włączanie synchronizacji niestandardowego pola person-name

Następujące polecenie umożliwia synchronizację dla pola elementu roboczego AW. CustomerName zdefiniowana dla kolekcji Collection1 na serwerze AdventureWorksServer.

Sprawdź typ danych pola, które chcesz przekonwertować

  1. Sprawdź typ danych przypisany do pola, na przykład MyCompany.CustomerName, który chcesz zsynchronizować, wprowadzając następujące polecenie:

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName  
    

Włączanie synchronizacji

  1. Aby włączyć synchronizację dla pola o nazwie osoby, wpisz następujące polecenie, podstawiając dane dla argumentów, które są wyświetlane tutaj:

    witadmin changefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.CustomerName /syncnamechanges:true  
    
  2. Zostanie wyświetlony następujący monit o potwierdzenie:

    Spowoduje to zmianę właściwości pola {0} na serwerze Team Foundation Server. Czy chcesz kontynuować?

  3. Wpisz 0 , aby potwierdzić, że chcesz zmienić pole lub 1 , aby anulować żądanie.

    Jeśli żądanie zmiany powiedzie się, zostanie wyświetlony następujący komunikat potwierdzający:

    Pole zostało zaktualizowane.

    Jeśli żądanie zmiany nie powiedzie się, zostanie wyświetlony komunikat o błędzie. Najczęstsze błędy, które można popełnić, próbują zmienić pole odwołania systemu lub próbuje zmienić pole typu danych innego niż Ciąg. Te operacje nie są obsługiwane.

Usuwanie pola

Przed usunięciem pola sprawdź, czy pole nie jest używane. Jeśli pole jest używane, należy najpierw usunąć pole z typów elementów roboczych, które używają go przed usunięciem go z kolekcji projektu. Następujące polecenie usuwa pole AdventureWorks.Field z kolekcji Collection1:

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:AdventureWorks.Field  

Sprawdzanie, czy pole nie jest używane

  1. Wprowadź następujące polecenie, określając nazwę odwołania dla pola elementu roboczego, na przykład MyCompany.MyProcess.MyField.

    witadmin listfields /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:MyCompany.MyProcess.MyField  
    

    W wyświetlonych informacjach dotyczących pola sprawdź, czy wartość opcji Użyj to "Nie w użyciu", jak pokazano w tym przykładzie.

    Field: MyCompany.MyProcess.MyField  
    Name: MyField  
    Type: String  
    Reportable As: dimension  
    Use: Not In Use  
    Indexed: False  
    
  2. Jeśli pole Użyj wskazuje, że pole jest używane, musisz usunąć je z każdego typu elementu roboczego dla każdego projektu, który jest wymieniony. Na przykład pole wskazuje, Microsoft.VSTS.TCM.SystemInfo że jest on używany przez typy elementów roboczych Bug and Code Defect dla czterech projektów: Arroyo, Desert, Palm i Springs.

    Field: Microsoft.VSTS.TCM.SystemInfo  
    Name: System Info  
    Type: Html  
    Reportable As: None  
    Use: Arroyo (Bug), Desert (Bug), Palm (Bug), Springs (Bug, Code Defect)  
    Indexed: False  
    

    Aby można było usunąć to pole, należy usunąć je z każdego z typów elementów roboczych wymienionych dla każdego projektu, dla którego jest zdefiniowany. Aby usunąć pole, należy zmodyfikować definicję typu elementu roboczego, usuwając FIELD elementy i Control zawierające nazwę odwołania do pola. Zobacz Importowanie, eksportowanie i zarządzanie typami elementów roboczych, odwołanie do elementów FIELD (Definicja) i Kontrola.

Usuwanie pola z kolekcji projektów

Wprowadź następujące polecenie, aby usunąć MyCompany.MyProcess.MyField pole, a następnie wybierz Enter.

witadmin deletefield /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /n:RefName  

Wprowadź y po wyświetleniu monitu o potwierdzenie, aby wykonać ten krok.