Есть ли способ напрямую связать набор изменений с гиперссылкой в ​​Azure DevOps Server (TFS on Prem)?

Я ищу, можно ли напрямую связать набор изменений TFS с гиперссылкой.

Я могу создать рабочий элемент и в рабочем элементе создать тип гиперссылки на сайт, а затем связать набор изменений с рабочим элементом. Однако при этом пользователь должен открыть список «Связанные рабочие элементы», открыть связанный рабочий элемент, найти гиперссылку и открыть ссылку.

Конечный результат, который я ищу, будет заключаться в том, что при просмотре сведений о наборе изменений в наборе изменений будет раздел «Связанные ссылки» или что-то подобное, где пользователь может легко увидеть любые связанные гиперссылки для набора изменений.

Спасибо, Крис


person Chris Fox    schedule 07.01.2020    source источник


Ответы (1)


Итак, после некоторых проб и множества ошибок я нашел работоспособное решение для моего случая. Достигается путем двух действий в расширении Visual Studio и нового пользовательского типа рабочего элемента.

Новый тип рабочего элемента — в основном используется шаблон проверки кода, скрытый рабочий элемент, который можно создать только с помощью автоматизации. Удалены поля, не нужные для моего случая.

Расширение Visual Studio, часть 1. Настройте действие, которое происходит, когда пользователь нажимает кнопку «Проверить» в окне «Ожидающие изменения». Когда это действие запускается, расширение будет собирать некоторые важные данные из регистрации. Затем расширение создаст новый рабочий элемент и установит в нем две ссылки. Одна ссылка связывает набор изменений и рабочий элемент. Другой - гиперссылка на нужный сайт.

Расширение Visual Studio, часть 2 — настройка действия для просмотра сведений о наборе изменений. Когда загружается представление сведений о наборе изменений, захватите выбранный идентификатор набора изменений. Это оказалось довольно сложной задачей, так как многие предоставленные классы деталей набора изменений являются частными. Получив идентификатор набора изменений, найдите рабочие элементы, связанные с набором изменений. Прокручивайте ссылки в рабочем элементе, захватывая гиперссылки в рабочем элементе. Затем просмотрите найденные гиперссылки и отобразите их в новом разделе через WPF в представлении сведений о наборе изменений.

Часть кода, которая помогла получить идентификатор набора изменений в расширении Visual Studio:

var dte = Package.GetGlobalService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;
var dte2 = (EnvDTE80.DTE2)dte;
var vce = dte2.DTE.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;
VersionControlHistoryChangesetItem[] versionControlHistoryChangesetItems = vce.History.ActiveWindow.SelectedChangesets;
person Chris Fox    schedule 24.02.2020