Создание перехватчика службы для Azure DevOps Services и TFS с помощью Trello
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Создайте карта и списки в Trello в ответ на события из Azure DevOps. Например, при отправке кода или сборке.
Получение маркера авторизации Trello
Если у вас нет учетной записи Trello, зарегистрируйтесь в Trello.
Перейдите на страницу Авторизации Azure DevOps Services для Trello и войдите с помощью учетных данных Trello.
Разрешить Azure DevOps использовать учетную запись Trello.
Скопируйте маркер авторизации.
Создайте карта или список Trello из события Azure DevOps Services.
Перейдите на страницу перехватчиков службы проекта:
https://{orgName}/{project_name}/_settings/serviceHooks
Выберите Создать подписку.
Выберите службу Trello.
Настройте триггер события Visual Studio. В этом случае подписка будет отвечать при создании рабочего элемента.
Настройте действие, которое Trello будет принимать в ответ на триггер, либо создайте карта или список.
Заполнители можно использовать для вставки содержимого из события в имя и описание создаваемых карта или списков. Например, при запуске тестового уведомления карта, которая создается, называется "Ошибка #5: Некоторая отличная новая идея!", так как тестовый рабочий элемент является ошибкой (ID=5) с заголовком "Некоторые отличные новые идеи!".
Проверьте подписку на перехватчик службы и завершите работу мастера.
Теперь она настроена. Перейдите к Trello и увидите карта отображаются.
Заполнители
Заполнители можно вставить в имя списка или имя или описание карта для создания подписки. При создании списка или карта заполнители будут заменены значениями из события, которое было создано. Пример, используемый для имени карта на этой странице, использует:
{{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}
Таким образом, когда ошибка создается с идентификатором 5 и названием "Некоторые отличные новые идеи!", карта имя — "Ошибка #5: Некоторые отличные новые идеи!".
Базовая форма заполнителя — {{resource.field}}
это имя ресурса, вызывающего событие (рабочий элемент, сборка и т. д.), а поле — поле в разделе ресурса события, например идентификатор.
Таким образом, если подписка для завершенной сборки, это может быть что-то подобное.
Build {{build.id}} completed at {{build.finishTime}}
Где сборка — имя ресурса и идентификатора, finishTime — это поля, доступные в этом ресурсе. Чтобы понять типы событий, поля и ресурсы, доступные для использования, ознакомьтесь со ссылкой на события.
Поля рабочих элементов
Поля рабочих элементов отображаются в событии в массиве полей, как показано в следующем примере:
" fields": {
" System.AreaPath": "Fabrikam-Fiber-Git",
" System.TeamProject": "Fabrikam-Fiber-Git",
" System.IterationPath": "Fabrikam-Fiber-Git",
" System.WorkItemType": "Product Backlog Item",
" System.State": "New",
" System.Reason": "New backlog item",
" System.CreatedDate": "2014-11-05T21:11:28.85Z",
" System.CreatedBy": "Normal Paulk",
" System.ChangedDate": "2014-11-05T21:11:29.23Z",
" System.ChangedBy": "Normal Paulk",
" System.Title": "Test PBI",
" Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999,
" WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
},
Работая непосредственно из определения события, мы создали бы наше карта имя, как в следующем примере:
{{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}
В качестве ярлыка можно ссылаться на любые поля в пространствах имен System или Microsoft.Azure DevOps Services.Common, как если бы они были полями ресурса.
Таким образом, {{workitem.fields["System.workItemType"]}}
превращается в {{workitem.workItemType}}
.
Выражения заполнителей
Эти заполнители используют реализацию шаблонов дескрипторов, которая в значительной степени совместима с усиками. Некоторые полезные выражения включают в себя
Тип выражения | Примеры |
---|---|
основные выражения | {{workitem.name}} |
Выражения массива | {{pullRequest.reviewers.[0].displayName}} |
Разделы усы | {{#workitem.assignedTo}} Эта wi-адрес назначена {{/workitem.assignedTo}} |
Перевернутые разделы усов | {{^workitem.assignedTo}} Эта wi-адрес не назначена {{/workitem.assignedTo}} |
Вспомогательные средства блокировки дескрипторов дескрипторов | на If/else unless каждый |
Пути к дескрипторам | ... this Например, {{../comment/id}} или {{this/title}} . |
Примечания к шаблону | {{!-- this is a handlebar comment --}} |
Цены
Azure DevOps не взимает плату за интеграцию платформы с внешними службами. Ознакомьтесь с сайтом конкретной службы, чтобы узнать о ценах, связанных с их службами.
Вопросы и ответы
Вопрос. Можно ли программно создавать подписки?
Ответ. Да, см. здесь подробные сведения.
Вопрос. Можно ли получить дополнительные сведения о Trello?
Ответ. Да, trello.com.