Azure devops 是否可以创建所需的检查/拉动请求状态?
Azure devops 是否可以创建所需的检查/拉动请求状态?,azure-devops,azure-devops-rest-api,Azure Devops,Azure Devops Rest Api,我已经尝试过上面的API,检查/状态是可选的,因此它不会阻止用户完成拉取请求。如何使状态成为必需状态?要在PR上添加阻塞,还需要添加一个 状态策略 仅使用状态,就可以提供来自外部服务的详细信息 为用户提供公关体验。有时候,分享信息 关于PR是所有必要的,但在其他情况下,PRs应该是 在满足要求之前阻止合并。就像盒子里的一样 策略,状态策略为外部服务提供了 阻止PR完成,直到满足要求。如果政策是 如果需要,则必须通过才能完成拉动请求。如果 策略是可选的,仅供参考,状态为 完成拉取请求不需要成功 状
我已经尝试过上面的API,检查/状态是可选的,因此它不会阻止用户完成拉取请求。如何使状态成为必需状态?要在PR上添加阻塞,还需要添加一个 状态策略 仅使用状态,就可以提供来自外部服务的详细信息 为用户提供公关体验。有时候,分享信息 关于PR是所有必要的,但在其他情况下,PRs应该是 在满足要求之前阻止合并。就像盒子里的一样 策略,状态策略为外部服务提供了 阻止PR完成,直到满足要求。如果政策是 如果需要,则必须通过才能完成拉动请求。如果 策略是可选的,仅供参考,状态为 完成拉取请求不需要成功 状态策略的配置与其他分支策略相同。什么时候 添加新的状态策略、状态策略的名称和类型 必须输入。如果之前已发布状态,则可以选择 从列表中删除它;如果是新策略,您可以键入 策略的格式为“类型/名称”
作为Matt共享的文档 状态策略-提供阻止请求完成的机制 直到拉动请求状态指示成功 如果您希望将此状态设置为强制请求所需的,则需要将此状态配置添加为状态策略。因为拉取请求所需的状态信息只能从状态策略中读取 成功运行此操作后,管道状态信息已发布到请求中。此时,您需要执行另一个步骤,使此状态为“必需” 步骤1: 使用下面的命令获取相应的状态id:
GET https://dev.azure.com/{org name}/{project}/_apis/policy/types?api-version=6.0
然后您将从响应正文中找到状态id。将此id粘贴到txt中,这是下一步所必需的
第二步:
运行以下api以使您先前添加的状态成为必需状态:
POST https://dev.azure.com/{org name}/{repo name}/_apis/policy/Configurations?api-version=5.0
请求机构:
{
"type": {
"id": "{xxxx}" \\Put the **Status id** you copied in above step
},
"isBlocking": true, \\ IMPORTANT! Please set it to **true** since **false** means it is opitional
"isEnabled": true, \\Enable this for pull request
"settings": {
"invalidateOnSourceUpdate": false,
"statusName": "APIStatus", \\Specify the status name you used while you create a status
"statusGenre": "vsts-rm", \\Same as above
"scope": [
{
"repositoryId": "2fe327b4-66f5-4ce3-9227-dfd2ec80af1c", \\Specify this policy would apply to
"refName": "refs/heads/master",
"matchKind": "Exact"
}
]
}
}
我可以知道现在的情况吗?如果您在下面还有任何问题或困惑,请随时在下面留下评论。