Je tente de lier par programme un commit à un élément de travail dans TFS et je pense que je suis proche. Lors de la création d'un nouveau ExternalLink, j'ai du mal à former la propriété LinkedArtifactUri
. Je peux exécuter une requête simple pour un élément de travail pour voir cette propriété devrait quelque chose comme ce qui suit:Comment puis-je lier par programmation un commit à un élément de travail dans TFS? (besoin d'un deuxième GUID dans LinkedArtifactURI)
"vstfs:///Git/Commit/ef43137b-a906-47b1-8dd4-0438b26c20c4%2fd211ee62-075d-4419-9d0b-cb58b76ae9dd%2fedfe1d438a77c2a95afa30e625f5dabe2656dea0"
Je me suis donc pour déterminer où les GUIDs dans cette chaîne viennent et j'ai pu figure sur les deux premiers, mais je suis actuellement perplexe sur le dernier. Le premier GUID est l'ID du projet (récupérable en faisant quelque chose comme _store.Value.Projects[TEAM_NAME].guid
. Le second est l'ID Git Repo.) Quelqu'un peut-il me renseigner sur ce que le troisième GUID pourrait être?
Voici mon code qui devrait fonctionner si je peut savoir où obtenir ce dernier GUID.
var item = _store.Value.GetWorkItem(165464); //work item id #
var gitRepoService = _projectCollection.GetService<GitRepositoryService>();
var gitProjectRepoService = gitRepoService.QueryRepositories("TEAM_NAME");
var defaultGitRepo = gitProjectRepoService.Single(gr =>
gr.Name.Equals("REPO_NAME"));
var gitGuid = defaultGitRepo.Id;
var proj = _store.Value.Projects["TEAM_NAME"];
var id = proj.Guid;
var linkToAdd = new ExternalLink(_store.Value.RegisteredLinkTypes[ArtifactLinkIds.Commit], $"vstfs:///Git/Commit/{id}%{gitGuid}%{Where_does_this_guid_come_from}");
item.Links.Add(linkToAdd);
item.Save();
Merci beaucoup pour votre temps S'il vous plaît laissez-moi savoir si je suis pas clair ou si vous avez besoin d'autre de moi
Résolvez-vous le problème avec la solution d'Andy? –
@ starain-MSFT J'ai pu lier la validation en codant en dur l'ID de validation et je vais maintenant essayer de le récupérer à partir de l'API REST comme il l'a mentionné ci-dessous. J'accepterai sa réponse après et vous contacterai si j'ai des problèmes. Merci beaucoup. – user95227
@ starain-MSFT Je ne suis pas sûr si vous recevrez une notification pour ma réponse à Andy ci-dessous mais s'il vous plaît vérifier le commentaire et offrir des commentaires si vous en avez. J'ai un problème en sélectionnant tous les commits sur ma branche de sujet et en les reliant à un élément de travail. Merci beaucoup. – user95227