Как бы я go о настройке прослушивателя веб-хуков на Azure DevOps? - PullRequest
0 голосов
/ 19 марта 2020

Цель: У нас есть проект системы управления переводами с набором строковых переводов, которые можно экспортировать как iOS, Android и веб-форматы. Это можно сделать через API, CLI или вручную с помощью пользовательского интерфейса. Нам необходимо интегрироваться с нашим репозиторием на основе git, который находится в DevOps, чтобы при внесении изменений в переводы TMS база кода обновлялась автоматически (желательно, чтобы с изменениями создавался PR).

Что я уже пробовал: Я разработчик мобильных приложений с небольшим опытом веб-хука, но, похоже, они являются ключом к решению. Я могу настроить веб-хук на стороне TMS, но мне нужно предоставить URL-адрес со слушателем. Просматривая настройки перехвата сервиса Azure DevOps и читая документацию, я не могу найти каких-либо указаний на способ настройки настраиваемого прослушивателя для подписки на перехват другого веб-сервиса, использования его полезной нагрузки и запуска действий в DevOps.

Я знаю, что это может быть ограничено возможностями TMS и DevOps, но как с этим справиться, рассматривая это с точки зрения высокого уровня? Не похоже, что есть какое-либо встроенное решение, так что же может повлечь за собой собственное решение? Если что-то в соответствии с тем, что я ищу, невозможно, я бы тоже хотел это знать.

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Чтобы при внесении изменений в переводы TMS база кода обновлялась автоматически (желательно, чтобы с изменениями создавался PR).

Извините, но, насколько я знаю, это не поддерживается сценарий в Azure Devops Service.

1. Опция service hooks в azure devops-сервисе заключается в том, что когда что-то (событие) происходит в Azure Devops-сервисе, она запускает задачу (действие) на целевом сервисе. Но то, что вы хотите, это когда что-то происходит во внешней службе, она запускает задачу (действие) в azure службе devops. На данный момент это поведение не поддерживается.

2. И разные службы в Service Hooks имеют разные поддерживаемые действия. Давайте возьмем в качестве примера сервис Jenkins (один сервисный хук), см. Шаг 5 в trigger Jenkins : Azure Devops может вызвать сборку Jenkins.

Что касается веб-хуков (другие сервисные хуки), он не может запускать такие действия, как the code base is updated automatically. Он просто отправляет представление Json.

Таким образом, требуемый сценарий на данный момент не поддерживается Azure Devops Service.

Кроме того: Не знаете, как работает ваша TMS, но вы можете рассмотреть возможность использования Azure Devops Rest API для запуска действий в Azure Devops Service. (Эти остальные API могут использоваться для создания очереди, выполнения или выполнения действий, связанных с git)

Когда в ваши трансляции TMS вносятся изменения, вы можете вызвать соответствующий Azure Devops rest api для управления git репозитории в Azure Devops, если ваша TMS поддерживает такого рода поведение.

Надеюсь, что все вышеперечисленное решит вашу загадку, почему ваш сценарий не поддерживается веб-хуками в Azure Devops:)

0 голосов
/ 19 марта 2020

Когда вы авторизуете репозиторий GitHub через настройки devops, в вашем репо автоматически создается webhook с настраиваемыми событиями хуков.

...