Сократите время на импорт запросов и / или копирование панелей мониторинга в Azure DevOps.

Я потратил некоторое время на создание панели мониторинга проекта в Azure DevOps. У меня есть 14 запросов и 3 разных типа виджетов. Блестяще. У меня проблема в том, что теперь мне нужно развернуть это в более чем 70 проектах.

Я экспортировал все свои запросы с помощью расширения WIQL marketplace, но, похоже, могу импортировать их только в другие проекты по одному, что отнимает очень много времени. Затем мне нужно сопоставить правильный запрос с правильным виджетом на панели инструментов, и снова это отнимает много времени. Я искал способ скопировать информационные панели, но, похоже, его не существует из того, что я нашел.

Может ли кто-нибудь предложить способ, которым я могу сократить время на это? Даже если это просто способ получить мои запросы по разным проектам - это будет огромная экономия времени.

Я также пробовал использовать Google и YouTube, но, похоже, наткнулся на кирпичную стену - возможно, мои поисковые запросы неверны? - потому что меня направляют на страницы и инструкции по импорту рабочих элементов, а не на запросы.

2 ответа

Решение

В дополнение к сценарию python и коду C#, совместно используемым в этом билете, вы также можете попробовать использовать REST API для копирования панелей мониторинга. Вот шаги:

  1. Получите дашборд по его ID.

    ПОЛУЧИТЬ https://dev.azure.com/%7Borganization%7D/%7Bproject%7D/%7Bteam%7D/_apis/dashboard/dashboards/%7BdashboardId%7D?api-version=6.1-preview.3

  2. Скопируйте тело ответа REST API получения панели мониторинга и удалите идентификатор панели мониторинга.

  1. Создайте предоставленную панель инструментов.

    POST https://dev.azure.com/%7Borganization%7D/%7Bproject%7D/%7Bteam%7D/_apis/dashboard/dashboards?api-version=6.1-preview.3

Вставьте тело ответа в тело запроса в этом REST API. Вам нужно только изменить здесь название проекта и название команды, чтобы копировать их в разные проекты. 4. В настоящее время некоторые настройки виджета могут иметь нулевые значения, и вам может потребоваться вручную настроить их на новых панелях мониторинга.

Кроме того, группа продуктов разрабатывает эту функцию. Вот график функции. Следите за этим тикетом и следите за последними обновлениями.

Если вы знакомы с PowerShell, вы можете использовать AzurePipelinesPS для копирования панели мониторинга или запроса. Команды Copy-APDashboard и Copy-APQuery поддерживают перекрестный сбор и копирование перекрестных проектов.

Приборная панель

Следующее будет копировать панель мониторинга в тот же проект, что и исходный.

      Copy-APDashboard -Name 'My Current Dashboard' -Session 'mySourceSession' 

Следующее будет копировать панель мониторинга в другой проект в той же коллекции.

      Copy-APDashboard -Name 'My Current Dashboard' -Session 'mySourceSession' -TargetProject 'Other Project Name'

Запрос

Далее будет скопирован запрос с именем «Мой запрос для копирования» в проект с именем «Project2».

      Copy-APQuery -QueryId 'Shared Queries/My Query To Copy' -Name 'My New Query' -TargetProject 'Project2' -Session 'mySourceSession' 

См. В разделе Управление сеансом AzurePipelines дополнительные сведения о том, как создать сеанс и сохранить его для использования в последующих сеансах PowerShell.

Примечание :

Copy-APDashboard не копирует базовые запросы, а только виджеты и область виджетов панели. Вы должны скопировать запросы с помощью Copy-APQuery.

Другие вопросы по тегам