Mamy niestandardowy proces kompilacji (nie używając MS Build) i podczas tego procesu dodaję "fałszywą" kompilację do globalnej listy kompilacji. Powodem, dla którego to robię, jest to, że możesz wybrać kompilację dla danego elementu pracy (znalezionego w kompilacji). Mamy niestandardowe pole, wbudowane w kompilację, które ma na celu pokazanie, która kompilacja tego elementu pracy została naprawiona. Mam problem z ustaleniem sposobu aktualizacji tego pola programowo. Chodzi o to, że będę miał małą aplikację, która zrobi to, że zadzwonię podczas procesu kompilacji, znajdując wszystkie elementy pracy od ostatniej kompilacji, a następnie aktualizując pole dla tych elementów pracy. Jakieś pomysły?Jak programowo zaktualizować niestandardowe pole TFS?
Odpowiedz
Coś jak to powinno działać dla Ciebie:
public void UpdateTFSValue(string tfsServerUrl, string fieldToUpdate,
string valueToUpdateTo, int workItemID)
{
// Connect to the TFS Server
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(tfsUri));
// Connect to the store of work items.
_store = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
// Grab the work item we want to update
WorkItem workItem = _store.GetWorkItem(workItemId);
// Open it up for editing. (Sometimes PartialOpen() works too and takes less time.)
workItem.Open();
// Update the field.
workItem.Fields[fieldToUpdate] = valueToUpdateTo;
// Save your changes. If there is a constraint on the field and your value does not
// meet it then this save will fail. (Throw an exception.) I leave that to you to
// deal with as you see fit.
workItem.Save();
}
Przykładem nazywając to byłoby:
UpdateTFSValue("http://tfs2010dev:8080/tfs", "Integration Build", "Build Name", 1234);
Zmienna fieldToUpdate
powinna być nazwa pola, a nie refname (tj Integracja Kompilacja, a nie Microsoft.VSTS.Build.IntegrationBuild)
Prawdopodobnie można uciec przy użyciu PartialOpen(), ale nie jestem pewien.
Prawdopodobnie będziesz musiał dodać Microsoft.TeamFoundation.Client
do swojego projektu. (A może Microsoft.TeamFoundation.Common
)
Dzięki, właśnie tego szukałem! – Nick
+1 Zastanawiam się, dlaczego ta odpowiedź nigdy nie została poddana pod głosowanie? –
Nie jestem pewien, czy coś zmienili, czy wszyscy po prostu to wymyślili, ale musisz zrobić: workItem.Fields [fieldToUpdate]. Wartość w TFS 2012 inaczej otrzymasz komunikat o tym, że zbiór pól jest tylko do odczytu; –
To zmieniło dla TFS 2012, w zasadzie trzeba dodać workItem.Fields [fieldToUpdate] .Value
zaktualizowana wersja co @Vaccano napisał.
public void UpdateTFSValue(string tfsServerUrl, string fieldToUpdate,
string valueToUpdateTo, int workItemID)
{
// Connect to the TFS Server
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri(tfsUri));
// Connect to the store of work items.
_store = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));
// Grab the work item we want to update
WorkItem workItem = _store.GetWorkItem(workItemId);
// Open it up for editing. (Sometimes PartialOpen() works too and takes less time.)
workItem.Open();
// Update the field.
workItem.Fields[fieldToUpdate].Value = valueToUpdateTo;
// Save your changes. If there is a constraint on the field and your value does not
// meet it then this save will fail. (Throw an exception.) I leave that to you to
// deal with as you see fit.
workItem.Save();
}
- 1. Paski niestandardowe pole kwoty
- 2. Jak programowo scalić zestawy zmian TFS?
- 3. Jak zaktualizować pole daty w konsoli mongo?
- 4. Jak zaktualizować zmienne pole o określonej wartości?
- 5. Jak zaktualizować określone pole w mangusty?
- 6. Jak zaktualizować pole manytomany w Django?
- 7. Niestandardowe pole wyboru w silverlight
- 8. Jak programowo zaktualizować Play.configuration w Play 2.0?
- 9. Jak zmienić lub zaktualizować NSLayoutConstraint programowo
- 10. Niestandardowe pole w SharePoint 2013
- 11. TFS 2010 programowo określający gałąź artykułu
- 12. Programowo uzyskaj dane dotyczące winy TFS (opis)
- 13. Jak mogę debugować niestandardowe procesy kompilacji w TFS 2010?
- 14. Dodaj pole niestandardowe do kursu Moodle
- 15. Niestandardowe zamaskowane pole hasła w WPF
- 16. Tylko niestandardowe pole wyboru CSS w IE8
- 17. Jak programowo śledzić zestaw zmian TFS w wielu oddziałach?
- 18. Jak programowo dodać NewLines do pola tekstowego elementu roboczego TFS?
- 19. Jak programowo uzyskać informacje o oddziałach w systemie TFS?
- 20. JIRA - Funkcja postu Jira - Jak zaktualizować pole "poprawka wersji"?
- 21. Jak zaktualizować pole, aby dodać wartość do istniejącej wartości?
- 22. W konsoli Rails. jak zaktualizować pole dla wszystkich rekordów?
- 23. Programowo zmienić Manifest - Android uprawnienia niestandardowe
- 24. Dozer 5.3.2. Programowo ustawione niestandardowe konwertery?
- 25. Jak sortować alfabetycznie niestandardowe pole obiektu w tablicy NSMutable?
- 26. Jak dodać niestandardowe pole obrazu do kategorii w Magento?
- 27. Android: Jak utworzyć niestandardowe pole edycji tekstu w ten sposób?
- 28. Jak dodać wybrane pole niestandardowe do strony płatności w WooCommerce?
- 29. Jak dodać niestandardowe pole do łańcucha formatu dziennika Python?
- 30. Jak mogę uzyskać niestandardowe pole z Active Directory w C#?
Można bardziej szczegółowo opisać część listy globalnych kompilacji. Czy używasz niestandardowego szablonu kompilacji (w Windows Workflow Foundation)? Czy dodajesz do zmiennej lub argumentu w tym szablonie? – LWoodyiii
Przepraszamy, używam globalnej listy w TFS. Nie używam szablonu kompilacji, używamy produktu o nazwie Automated Build Studio dla samej kompilacji. Chciałem tylko napisać osobną aplikację, aby zadzwonić z ABS dla tej funkcji. – Nick