Создание вебхука для Azure DevOps Services и TFS с Trello
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Создайте карточки и списки в Trello в ответ на события из Azure DevOps. Например, при отправке кода или сборке.
Необходимые условия
Категория | Требования |
---|---|
разрешения | — Член группы администраторов коллекции проектов . Владельцы организации автоматически входят в эту группу. - Изменение подписок и просмотр подписок с разрешениями, установленными на разрешить. По умолчанию только администраторы проектов имеют эти разрешения. Чтобы предоставить разрешения другим пользователям, можно использовать программу командной строки или REST API безопасность. |
Инструменты | Trello |
Получение токена авторизации Trello
Если у вас нет учетной записи Trello, зарегистрируйтесь в Trello.
Перейдите на страницу Azure DevOps Services для авторизации Trelloи авторизуйтесь, используя учетные данные Trello.
Разрешить Azure DevOps использовать учетную запись Trello.
Azure DevOps Services
Скопируйте маркер авторизации.
Создайте карточку или список Trello из события Azure DevOps Services.
Перейдите на страницу перехватчиков службы проекта:
https://{orgName}/{project_name}/_settings/serviceHooks
страница администрирования проекта
Выберите Создать подписку.
Выберите службу Trello.
Страница службы
, выбранная 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}}
Где build — это имя ресурса и ID, а 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}}
.
Выражения заполнителей
Эти заполнители используют шаблоны Handlebars реализации, которая в значительной степени совместима с Mustache. Некоторые полезные выражения включают
Тип выражения | Примеры |
---|---|
основные выражения | {{workitem.name}} |
Выражения массива | {{pullRequest.reviewers.[0].displayName}} |
Разделы усы |
{{#workitem.assignedTo}} Это WI назначено {{/workitem.assignedTo}} |
Перевернутые разделы усов |
{{^workitem.assignedTo}} этот WI не назначен {{/workitem.assignedTo}} |
Помощники блоков Handlebars | с если/иначе если не каждый |
Пути Handlebars | ... этот Например, {{../comment/id}} или {{this/title}} |
Примечания к шаблону | {{!-- this is a handlebar comment --}} |
Ценообразование
Azure DevOps не взимает плату за интеграцию платформы с внешними службами. Ознакомьтесь с сайтом конкретной службы, чтобы узнать о ценах, связанных с их службами.
Q & A
Вопрос. Можно ли программно создавать подписки?
Ответ. Да, см. сведения здесь.
Вопрос. Можно ли получить дополнительные сведения о Trello?
Ответ. Да, trello.com.