Рассматривая как документацию, так и примеры сервисных хуков, практически невозможно объяснить, что представляет собой содержимое полезной нагрузки.
Например, я создаю хук Release Started и Release Completed Service, и когда Я смотрю на полезную нагрузку, но ни одна из включенных направляющих фактически не представляет идентификатор конвейера выпуска, который вызвал предупреждение.
Вот запутанная полезная нагрузка, которую я получаю:
{
"subscriptionId": "000-000-000-000-000",
"notificationId": 12,
"id": "000-000-000-000-000",
"eventType": "ms.vss-release.deployment-started-event",
"publisherId": "rm",
"message": {
"text": "Deployment of release Release-430 to stage Test started.",
"html": "Deployment on stage <a href='https://TESTAcentral.visualstudio.com/TESTA/_release?_a=environment-summary&definitionId=34&definitionEnvironmentId=12'>Test</a> started.",
"markdown": "Deployment on stage [Test](https://TESTAcentral.visualstudio.com/TESTA/_release?_a=environment-summary&definitionId=34&definitionEnvironmentId=12) started."
},
"detailedMessage": {
"text": "Deployment of release Release-430 on stage Test started.\r\nTrigger: After successful deployment of Dev",
"html": "Deployment on stage <a href='https://TESTAcentral.visualstudio.com/TESTA/_release?_a=environment-summary&definitionId=34&definitionEnvironmentId=12'>Test</a> started.<br>Trigger: After successful deployment of Dev",
"markdown": "Deployment on stage [Test](https://TESTAcentral.visualstudio.com/TESTA/_release?_a=environment-summary&definitionId=34&definitionEnvironmentId=12) started.\r\nTrigger: After successful deployment of Dev"
},
"resourceVersion": null,
"resourceContainers": {
"collection": {
"id": "000-000-000-000-000",
"baseUrl": "https://TESTAcentral.vsrm.visualstudio.com/"
},
"account": {
"id": "000-000-000-000-000",
"baseUrl": "https://TESTAcentral.vsrm.visualstudio.com/"
},
"project": {
"id": "000-000-000-000-000",
"baseUrl": "https://TESTAcentral.vsrm.visualstudio.com/"
}
},
"createdDate": "2020-01-29T13:49:01.1293269Z",
"resource": null
}
Как мне определить конвейер, который фактически вызвал этот веб-крючок?
Пожалуйста, не говорите мне, что вы хотите проанализировать поля уценки или html и разбить этот URL. Утилита всего этого процесса скомпрометирована, если вы не включите идентификатор запуска!