我试图使用GitHub API(版本2.11)在Python脚本中禁用和启用GitHub项目的分支保护。更具体地说,我想从分支中删除所有推送限制,然后在特定团队中启用它们。
通过以下方式替换/添加现有的团队限制
PUT/POST /repos/:owner/:repo/branches/:branch/protection/restrictions/teams
并且取消推送限制也可以像使用
一样使之魅力DELETE /repos/:owner/:repo/branches/:branch/protection/restrictions
但是,如果我取消了推送限制,我将无法重新启用它以添加特定的团队。如果我尝试添加或替换团队,则会显示“未启用推送限制” 。
那么如何启用复选框限制谁可以推送到该分支来在脚本中添加团队?请参见屏幕截图以获取所需的结果:Push Restrictions
API文档仅向我介绍了选项 Get restrictions of protected branch 和 Remove restrictions of protected branch 。
到目前为止我尝试过的:
答案 0 :(得分:0)
检查Github API Rest的Update branch protection部分:
dart:mirror
PUT /repos/:owner/:repo/branches/:branch/protection
请注意,将ownerWithRepo="MyOrg/my-repo"
branch="master"
curl -X PUT \
-H 'Accept: application/vnd.github.luke-cage-preview+json' \
-H 'Authorization: Token YourToken' \
-d '{
"restrictions": {
"users": [
"bertrandmartel"
],
"teams": [
"my-team"
]
},
"required_status_checks": null,
"enforce_admins": null,
"required_pull_request_reviews": null
}' "https://api.github.com/repos/$ownerWithRepo/branches/$branch/protection"
设置为这些字段之一将禁用(取消选中)该功能
在python中:
null