TFS 2015 Web Hook для слабой интеграции

У меня есть требование,

Когда в TFS 2015(а не vsts) создается рабочий элемент (и статус -процесс находится в процессе), я хочу, чтобы мой веб-хук запустил метод post, который создаст канал в Slack, и пригласит немного людей.

2) После того, как ошибка закрыта - прочитайте всю историю канала и верните историю обратно в ошибку.

Я смог добиться того же с помощью плагина TFS на стороне сервера, и он работает, но требования были изменены на веб-хуки.

Может ли кто-нибудь помочь мне в том, как добиться настраиваемого веб-перехвата, который разрешит события из TFS WI в Slack, пожалуйста?

Спасибо,

2 ответа

Вы не можете создавать новые входящие веб-заезды программно, но вы можете использовать любые существующие входящие веб-зацепки для нового канала.

Просто добавьте свойство канала в своем сообщении в webhook.

Пример из документации Slack:

curl -X POST \
--data-urlencode 'payload={"text": "This is posted to #general and comes from *monkey-bot*.", "channel": "#general", "link_names": 1, "username": "monkey-bot", "icon_emoji": ":monkey_face:"}' \
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Поэтому для реализации вашего требования я предлагаю вам создать новый канал и приглашать пользователей по мере необходимости через веб-API Slack. А затем используйте существующий входящий веб-крючок для отправки сообщений на этот канал.

По умолчанию в TFS есть сервисный хак, который может публиковать сообщения на канале. API выглядит следующим образом:

POST http://tfsserver:8080/tfs/DefaultCollection/_apis/hooks/subscriptions?api-version=3.2
Content-Type: application/json
{
"consumerActionId":"postMessageToChannel",
"consumerId":"slack",
"consumerInputs":{
    "url":"https://hooks.slack.com/services/xxxxxx"},
    "eventType":"workitem.created",
    "publisherId":"tfs",
    "publisherInputs":{
        "areaPath":"",
        "workItemType":"",
        "projectId":"77e3c775-dc30-4354-xxxx-xxxxxxxxxxxx"}
}

Для вашего второго требования вам нужно проверить Slack Api, чтобы увидеть, как читать всю историю канала, и использовать Обновить рабочие элементы для обновления рабочих элементов Bug.

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