Вы можете использовать ниже rest api, чтобы установить форы разрешений ветвления для группы.
POST https://dev.azure.com/{orgname}/{projectid}/_api/_security/ManagePermissions?__v=5
Вот пример тела запроса.
{"updatePackage":
"{\"IsRemovingIdentity\":false,
\"TeamFoundationId\":\"{teamfoundationId}}\",
\"DescriptorIdentityType\":\"Microsoft.TeamFoundation.Identity\",
\"DescriptorIdentifier\":\"{DescriptorIdentifier}}\",
\"PermissionSetId\":\"2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87\",
\"PermissionSetToken\":\"repoV2/{projectId}}/{repoId}}/refs^heads^{branchname}}/\",
\"RefreshIdentities\":false,
\"Updates\":
[{\"PermissionId\":1,\"PermissionBit\":32768,\"NamespaceId\":\"2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87\",
\"Token\":\"repoV2/{projectId}/{repoId}/refs/heads/{branchId}/\"}],
\"TokenDisplayName\":null}"}
Примечание
\"PermissionId\":1
, означает установить разрешение на Разрешить, \"PermissionId\":2
, означает установить разрешение на Запретить, \"PermissionId\":1
, означает установить разрешение на Не задано.
\"PermissionBit\":32768
isПолитики обхода при заполнении пул-запросов разрешением. \"PermissionBit\":128
- это политики обхода при отправке разрешения.
\"PermissionBit\":4
- это политика Contribute при отправке разрешения.
\"PermissionBit\":2048
- разрешение на изменение политик.
\"PermissionBit\":8
- это разрешение на отправку ресурса.
\"PermissionBit\":8192
- это разрешение на управление.
\"PermissionBit\":4096
- это разрешение на удаление другого.
Добавление
В теле запроса слишком много параметров, их можно получить с помощью официальной документации. Или я рекомендую вам получить эти параметры с помощью Network Tool, чтобы вручную отобрать их.