Я создаю новую пользовательскую задачу Azure DevOps, которая запускается на «ServerGate». Я настроил свой HttpExecution для этой задачи и намереваюсь использовать его для PRE и POST Deployment Approval Gateway. Когда это выполняется для шлюза утверждения после развертывания, я хотел бы отправить статус задания (т. Е. Успешно, неудачно и т. Д.) В мой API. Я думал, что мог бы просто использовать переменную «Agent.JobStatus», но это не разрешается в ServerGate.
Есть ли другая переменная, которую я должен использовать, чтобы получить доступ к статусу текущего этапа (т. Е. Успех?)?
Информация о переменных для Agent.JobStatus: https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=classic
Подробная информация о серверных воротах авторинга, за которыми я следил: https://github.com/microsoft/azure-pipelines-tasks/blob/master/docs/authoring/servertaskauthoring.md
Пример моего ServerGate:
"execution": {
"HttpRequest": {
"Execute": {
"EndpointId":"",
"EndpointUrl": "https://my-gate.com/ready",
"Method": "POST",
"Body": "{\"status\":\"$(Agent.JobStatus)\", \"name\":\"$(Release.ReleaseName)\"}",
"Headers":"{\n\"Content-Type\":\"application/json\"\n}",
"WaitForCompletion":"false",
"Expression": "eq(root['approved'], 'true')"
}
}
}
Когда это разрешается в выходных данных, статус просто отображается как: "$ (Agent.JobStatus)" .... в то время как я могу преобразовать "имя" в фактическое имя определения выпуска в процессе исполнения.
Я ожидал получить надлежащее разрешение состояния на выходах POST, которое будет «Успешным» и т. Д., Как указано в документации, указанной выше.