У меня есть сборка на Azure Pipelines, и один из шагов предоставляет метрику кода, которую я хотел бы использовать после завершения сборки. В идеале это должно быть в виде значка нравится (где у нас есть текст слева и метрика в виде числа справа). Я хотел бы поместить такой значок на README репозитория, чтобы сделать эту метрику видимой для каждой сборки.
В Azure DevOps есть ОТДЫХА API, который можно использовать для доступа к встроенным аспектам данной сборки. Но, насколько я могу судить, нет никакого способа показать статистику или значение обычай, которые сгенерированы или предоставлены во время сборки.
(Эквивалентом в TeamCity будет вывод ##teamcity[buildStatisticValue key='My Custom Metric' value='123'] через Console.WriteLine() из простой программы на C#, которую TeamCity затем может потреблять и использовать/предоставлять.)
У кого-нибудь есть опыт в этом?
Может быть, посмотрите, если это то, что вы ищете: github.com/badges/shields/issues/2237
Вы хотите выставить статистику в переменной bulid во время сборки?
@AnassKartit Просмотрел. Расширения могут быть подходом, но приведенные примеры не обязательно отражают суть проблемы («Мне нужно использовать метрику, которая по умолчанию не является частью конвейера сборки, но фактически генерируется самой сборкой. .") Буду копать.
@Matt, это шаг 2. :) Шаг 1 раскрывает мое пользовательское значение в API (или где-то еще).
Если вам нужно значение, то, вероятно, это: https://dev.azure.com/{organization}/{project}/_apis/test/codecoverage?buildId=${buildId}&api-version=5.0-preview.1.
@ShaykiAbramczyk В идеале я хочу иметь возможность отображать эту метрику на README проекта, для которого она предназначена. Например, как вы можете показать сообщение/значок «Сборка выполнена успешно» или «Все тесты пройдены» на основе последней сборки для проекта. «Последнее пользовательское значение сборки: 45» или что-то в этом роде, что я хотел бы сделать.
@Matt, мой вопрос: «Как мне получить свое пользовательское значение в этом API» :) В настоящее время оно не существует и не является частью предоставленных значений покрытия кода по умолчанию.
проверить пример обратного отсчета


Один из вариантов — вы можете использовать комбинацию добавления тега сборки с помощью команды:
##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?
Извините, я не использовал команды C#. Мой единственный опыт звонил им из powershell. Документация для них здесь
@ Скотт Я думаю, что вы не можете использовать :, потому что остальные API не разрешают это. попробуйте удалить :.
Я думаю, вам нужно будет проверить расширения Azure Devops docs.microsoft.com/en-us/azure/devops/extend/get-started/…, взгляните на пример обратного отсчета marketplace.visualstudio.com/….