Есть ли API для отдыха?
Да, есть. НО, как сказал @Krysztof, мы не предоставили такие API-документы для публикации c на сегодняшний день. Это потому, что вам нужна одна функция (настройка Check and approval
из environments
) , которая поддерживает только конвейер YAML, и до сих пор мы разрабатываем, но не публикуем sh соответствующую остальные api (для YAML) документы.
Но, как обходной путь, вы можете поймать эти apis из F12 . Просто выполните действие из пользовательского интерфейса, а затем соберите и проанализируйте соответствующие записи API, чтобы выяснить, чего вы ожидаете.
Здесь я приведу вам сводку.
API, который использовался для добавления / удаления утверждения и проверка для среды:
https://dev.azure.com/{org name}/{project name}/_apis/pipelines/checks/configurations
Соответствующий метод API для add or delete
равен Post
и DELETE
.
Во-первых, доля Вы образцы тела запроса, которые для approval and check
добавил .
1) Добавить утверждение в эту среду:
{
"type": {
"id": "8C6F20A7-A545-4486-9777-F762FAFE0D4D", // The fixed value for Approval
"name": "Approval"
},
"settings": {
"approvers": [
{
"id": "f3c88b9a-b49f-4126-a4fe-3c99ecbf6303" // User Id
}
],
"executionOrder": 1,
"instructions": "",
"blockedApprovers": [],
"minRequiredApprovers": 0,
"requesterCannotBeApprover": false // The pipeline requester allow to approve it.
},
"resource": {
"type": "environment",
"id": "1", // Environment id
"name": "Deployment" //Environment name
},
"timeout": 43200 // Set the available time(30d) of this approval pending. The measure unit is seconds.
}
2) Добавить проверка задачи , Azure function
, Invoke rest api
задача и т. Д. c:
{
"type": {
"id": "fe1de3ee-a436-41b4-bb20-f6eb4cb879a7", // Fixed value if you want to add task check
"name": "Task Check" //Fixed value
},
"settings": {
"definitionRef": {
"id": "537fdb7a-a601-4537-aa70-92645a2b5ce4", //task Id
"name": "AzureFunction", //task name
"version": "1.0.10" //task version
},
"displayName": "Invoke Azure Function", //task display name configured
"inputs": {
"method": "POST",
"waitForCompletion": "false",
"function": "csdgsdgsa",
"key": "436467543756" // These are all task inputs
},
"retryInterval": 5, // The re-try time specified.
"linkedVariableGroup": "AzKeyGroup"// The variable group name this task linked with
},
"resource": {
"type": "environment",
"id": "2",
"name": "Development"
},
"timeout": 43200
}
В этом теле запроса вы Вы можете найти соответствующий task id
из нашего publi c исходного кода . Просто проверьте файл task.json
соответствующей задачи.
3) Добавить шаблон проверки :
{
"type": {
"id": "4020E66E-B0F3-47E1-BC88-48F3CC59B5F3", // Fixed value for template check added.
"name": "ExtendsCheck" //Fixed value
},
"settings": {
"extendsChecks": [
{
"repositoryType": "git", // github for Github source, bitbucket for Bitbucket source
"repositoryName": "MonnoPro",
"repositoryRef": "refs/heads/master",
"templatePath": "tem.yml"
}
]
},
"resource": {
"type": "environment",
"id": "6",
"name": "development"
}
}
В этом теле, если источником шаблона является github или bitbucket , значение repositoryName должно быть равно {org name}/{repos name}
.
Надеюсь, это поможет.