Azure Pipelines (DevOps): пользовательская потребляемая статистика/метрика

У меня есть сборка на Azure Pipelines, и один из шагов предоставляет метрику кода, которую я хотел бы использовать после завершения сборки. В идеале это должно быть в виде значка нравится (где у нас есть текст слева и метрика в виде числа справа). Я хотел бы поместить такой значок на README репозитория, чтобы сделать эту метрику видимой для каждой сборки.

В Azure DevOps есть ОТДЫХА API, который можно использовать для доступа к встроенным аспектам данной сборки. Но, насколько я могу судить, нет никакого способа показать статистику или значение обычай, которые сгенерированы или предоставлены во время сборки.

(Эквивалентом в TeamCity будет вывод ##teamcity[buildStatisticValue key='My Custom Metric' value='123'] через Console.WriteLine() из простой программы на C#, которую TeamCity затем может потреблять и использовать/предоставлять.)

У кого-нибудь есть опыт в этом?

Я думаю, вам нужно будет проверить расширения Azure Devops docs.microsoft.com/en-us/azure/devops/extend/get-started/…, взгляните на пример обратного отсчета marketplace.visualstudio.com/….

Anass Kartit 07.02.2019 14:05

Может быть, посмотрите, если это то, что вы ищете: github.com/badges/shields/issues/2237

Matt 07.02.2019 14:26

Вы хотите выставить статистику в переменной bulid во время сборки?

Shayki Abramczyk 07.02.2019 14:27

@AnassKartit Просмотрел. Расширения могут быть подходом, но приведенные примеры не обязательно отражают суть проблемы («Мне нужно использовать метрику, которая по умолчанию не является частью конвейера сборки, но фактически генерируется самой сборкой. .") Буду копать.

Doctor Blue 07.02.2019 14:29

@Matt, это шаг 2. :) Шаг 1 раскрывает мое пользовательское значение в API (или где-то еще).

Doctor Blue 07.02.2019 14:30

Если вам нужно значение, то, вероятно, это: https://dev.azure.com/{organization}/{project}/_apis/test/co‌​decoverage?buildId=$‌​{buildId}&api-versio‌​n=5.0-preview.1.

Matt 07.02.2019 14:30

@ShaykiAbramczyk В идеале я хочу иметь возможность отображать эту метрику на README проекта, для которого она предназначена. Например, как вы можете показать сообщение/значок «Сборка выполнена успешно» или «Все тесты пройдены» на основе последней сборки для проекта. «Последнее пользовательское значение сборки: 45» или что-то в этом роде, что я хотел бы сделать.

Doctor Blue 07.02.2019 14:31

@Matt, мой вопрос: «Как мне получить свое пользовательское значение в этом API» :) В настоящее время оно не существует и не является частью предоставленных значений покрытия кода по умолчанию.

Doctor Blue 07.02.2019 14:32

проверить пример обратного отсчета

Anass Kartit 07.02.2019 14:35
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
9
363
1

Ответы 1

Один из вариантов — вы можете использовать комбинацию добавления тега сборки с помощью команды:

##vso[build.addbuildtag]"My Custom Metric.123"

Затем используйте теги - Получить теги сборки API.

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/tags?api-version=5.0

Попробуйте! Однако когда я позволяю Azure построить его и пытаюсь создать Console.WriteLine() на ##vso[build.addbuildtag]"My Custom Metric:123", я получаю A potentially dangerous Request.Path value was detected from the client (:).. Очевидно, ему не нравится :. Как правильно вывести эту команду addbuildtag?

Doctor Blue 07.02.2019 14:56

Извините, я не использовал команды C#. Мой единственный опыт звонил им из powershell. Документация для них здесь

Matt 07.02.2019 15:12

@ Скотт Я думаю, что вы не можете использовать :, потому что остальные API не разрешают это. попробуйте удалить :.

Shayki Abramczyk 07.02.2019 15:59

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