Configurations - Create
Create a policy configuration of a given policy type.
POST https://dev.azure.com/{organization}/{project}/_apis/policy/configurations?api-version=7.1
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
organization
|
path | True |
string |
The name of the Azure DevOps organization. |
project
|
path | True |
string |
Project ID or project name |
api-version
|
query | True |
string |
Version of the API to use. This should be set to '7.1' to use this version of the api. |
Request Body
Name | Type | Description |
---|---|---|
_links |
The links to other objects related to this object. |
|
createdBy |
A reference to the identity that created the policy. |
|
createdDate |
string |
The date and time when the policy was created. |
id |
integer |
The policy configuration ID. |
isBlocking |
boolean |
Indicates whether the policy is blocking. |
isDeleted |
boolean |
Indicates whether the policy has been (soft) deleted. |
isEnabled |
boolean |
Indicates whether the policy is enabled. |
isEnterpriseManaged |
boolean |
If set, this policy requires "Manage Enterprise Policies" permission to create, edit, or delete. |
revision |
integer |
The policy configuration revision ID. |
settings |
The policy configuration settings. |
|
type |
The policy configuration type. |
|
url |
string |
The URL where the policy configuration can be retrieved. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
successful operation |
Security
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Scopes
Name | Description |
---|---|
vso.code_write | Grants the ability to read, update, and delete source code, access metadata about commits, changesets, branches, and other version control artifacts. Also grants the ability to create and manage pull requests and code reviews and to receive notifications about version control events via service hooks. |
Examples
Approval count policy |
Build policy |
Example policy |
Git case enforcement policy |
Git maximum blob size policy |
Merge strategy policy |
Work item policy |
Approval count policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": false,
"type": {
"id": "fa4e907d-c16b-4a4c-9dfa-4906e5d171dd"
},
"settings": {
"minimumApproverCount": 1,
"creatorVoteCounts": false,
"scope": [
{
"repositoryId": null,
"refName": "refs/heads/master",
"matchKind": "exact"
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.8887894",
"isEnabled": true,
"isBlocking": false,
"settings": {
"minimumApproverCount": 1,
"creatorVoteCounts": false,
"scope": [
{
"refName": "refs/heads/master",
"matchKind": "Exact",
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/18"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fa4e907d-c16b-4a4c-9dfa-4906e5d171dd"
}
},
"revision": 1,
"id": 18,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/18",
"type": {
"id": "fa4e907d-c16b-4a4c-9dfa-4906e5d171dd",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fa4e907d-c16b-4a4c-9dfa-4906e5d171dd",
"displayName": "Minimum approval count"
}
}
Build policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": false,
"type": {
"id": "0609b952-1397-4640-95ec-e00a01b2c241"
},
"settings": {
"buildDefinitionId": 5,
"scope": [
{
"repositoryId": null,
"refName": "refs/heads/features/",
"matchKind": "prefix"
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.935666",
"isEnabled": true,
"isBlocking": false,
"settings": {
"buildDefinitionId": 5,
"scope": [
{
"refName": "refs/heads/features/",
"matchKind": "Prefix",
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/0609b952-1397-4640-95ec-e00a01b2c241"
}
},
"revision": 1,
"id": 19,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19",
"type": {
"id": "0609b952-1397-4640-95ec-e00a01b2c241",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/0609b952-1397-4640-95ec-e00a01b2c241",
"displayName": "Build"
}
}
Example policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": true,
"type": {
"id": "fd2167ab-b0be-447a-8ec8-39368250530e"
},
"settings": {
"requiredReviewerIds": [
"1d1dad71-f27c-4370-810d-838ec41efd41"
],
"filenamePatterns": [
"*/API*.cs"
],
"addedFilesOnly": false,
"scope": [
{
"repositoryId": null,
"refName": "refs/heads/master",
"matchKind": "exact"
},
{
"repositoryId": null,
"refName": "refs/heads/releases/",
"matchKind": "prefix"
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.8106632",
"isEnabled": true,
"isBlocking": true,
"isDeleted": false,
"settings": {
"requiredReviewerIds": [
"1d1dad71-f27c-4370-810d-838ec41efd41"
],
"filenamePatterns": [
"*/API*.cs"
],
"addedFilesOnly": false,
"message": null,
"scope": [
{
"refName": "refs/heads/master",
"matchKind": "Exact",
"repositoryId": null
},
{
"refName": "refs/heads/releases/",
"matchKind": "Prefix",
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fd2167ab-b0be-447a-8ec8-39368250530e"
}
},
"revision": 1,
"id": 17,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17",
"type": {
"id": "fd2167ab-b0be-447a-8ec8-39368250530e",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fd2167ab-b0be-447a-8ec8-39368250530e",
"displayName": "Required reviewers"
}
}
Git case enforcement policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": true,
"type": {
"id": "7ed39669-655c-494e-b4a0-a08b4da0fcce"
},
"settings": {
"enforceConsistentCase": true,
"scope": [
{
"repositoryId": null
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.8106632",
"isEnabled": true,
"isBlocking": true,
"isDeleted": false,
"settings": {
"enforceConsistentCase": true,
"scope": [
{
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/7ed39669-655c-494e-b4a0-a08b4da0fcce"
}
},
"revision": 1,
"id": 17,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17",
"type": {
"id": "7ed39669-655c-494e-b4a0-a08b4da0fcce",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/7ed39669-655c-494e-b4a0-a08b4da0fcce",
"displayName": "Required reviewers"
}
}
Git maximum blob size policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": true,
"type": {
"id": "2e26e725-8201-4edd-8bf5-978563c34a80"
},
"settings": {
"MaximumGitBlobSizeInBytes": 5242880,
"useUncompressedSize": false,
"scope": [
{
"repositoryId": null
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.8106632",
"isEnabled": true,
"isBlocking": true,
"isDeleted": false,
"settings": {
"MaximumGitBlobSizeInBytes": 5242880,
"useUncompressedSize": false,
"scope": [
{
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/2e26e725-8201-4edd-8bf5-978563c34a80"
}
},
"revision": 1,
"id": 17,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/17",
"type": {
"id": "2e26e725-8201-4edd-8bf5-978563c34a80",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/2e26e725-8201-4edd-8bf5-978563c34a80",
"displayName": "Required reviewers"
}
}
Merge strategy policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": true,
"type": {
"id": "fa4e907d-c16b-4a4c-9dfa-4916e5d171ab"
},
"settings": {
"useSquashMerge": true,
"scope": [
{
"repositoryId": "1d1dad71-f27c-4370-810d-838ec41efd41",
"refName": "refs/heads/master",
"matchKind": "exact"
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.935666",
"isEnabled": true,
"isBlocking": true,
"settings": {
"useSquashMerge": true,
"scope": [
{
"refName": "refs/heads/master",
"matchKind": "Exact",
"repositoryId": "1d1dad71-f27c-4370-810d-838ec41efd41"
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fa4e907d-c16b-4a4c-9dfa-4916e5d171ab"
}
},
"revision": 1,
"id": 19,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19",
"type": {
"id": "fa4e907d-c16b-4a4c-9dfa-4916e5d171ab",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/fa4e907d-c16b-4a4c-9dfa-4916e5d171ab",
"displayName": "Require a merge strategy"
}
}
Work item policy
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1
{
"isEnabled": true,
"isBlocking": false,
"type": {
"id": "40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e"
},
"settings": {
"scope": [
{
"repositoryId": null,
"refName": "refs/heads/master",
"matchKind": "exact"
}
]
}
}
Sample response
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "[email protected]",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
},
"createdDate": "2015-02-23T12:51:06.935666",
"isEnabled": true,
"isBlocking": false,
"settings": {
"scope": [
{
"refName": "refs/heads/master",
"matchKind": "Exact",
"repositoryId": null
}
]
},
"_links": {
"self": {
"href": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19"
},
"type": {
"href": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e"
}
},
"revision": 1,
"id": 19,
"url": "https://dev.azure.com/fabrikam/_apis/policy/configurations/19",
"type": {
"id": "40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e",
"url": "https://dev.azure.com/fabrikam/1be3fc5b-c58c-4173-8fd7-6647d11eccd1/_apis/policy/types/40e92b44-2fe1-4dd6-b3d8-74a9c21d0c6e",
"displayName": "Work item linking"
}
}
Definitions
Name | Description |
---|---|
Identity |
|
JObject |
Represents a JSON object. |
Policy |
The full policy configuration with settings. |
Policy |
Policy type reference. |
Reference |
The class to represent a collection of REST reference links. |
IdentityRef
Name | Type | Description |
---|---|---|
_links |
This field contains zero or more interesting links about the graph subject. These links may be invoked to obtain additional relationships or more detailed information about this graph subject. |
|
descriptor |
string |
The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations. |
directoryAlias |
string |
Deprecated - Can be retrieved by querying the Graph user referenced in the "self" entry of the IdentityRef "_links" dictionary |
displayName |
string |
This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider. |
id |
string |
|
imageUrl |
string |
Deprecated - Available in the "avatar" entry of the IdentityRef "_links" dictionary |
inactive |
boolean |
Deprecated - Can be retrieved by querying the Graph membership state referenced in the "membershipState" entry of the GraphUser "_links" dictionary |
isAadIdentity |
boolean |
Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
isContainer |
boolean |
Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsGroupType) |
isDeletedInOrigin |
boolean |
|
profileUrl |
string |
Deprecated - not in use in most preexisting implementations of ToIdentityRef |
uniqueName |
string |
Deprecated - use Domain+PrincipalName instead |
url |
string |
This url is the full route to the source resource of this graph subject. |
JObject
Represents a JSON object.
Name | Type | Description |
---|---|---|
item |
string |
|
type |
string |
Gets the node type for this JToken. |
PolicyConfiguration
The full policy configuration with settings.
Name | Type | Description |
---|---|---|
_links |
The links to other objects related to this object. |
|
createdBy |
A reference to the identity that created the policy. |
|
createdDate |
string |
The date and time when the policy was created. |
id |
integer |
The policy configuration ID. |
isBlocking |
boolean |
Indicates whether the policy is blocking. |
isDeleted |
boolean |
Indicates whether the policy has been (soft) deleted. |
isEnabled |
boolean |
Indicates whether the policy is enabled. |
isEnterpriseManaged |
boolean |
If set, this policy requires "Manage Enterprise Policies" permission to create, edit, or delete. |
revision |
integer |
The policy configuration revision ID. |
settings |
The policy configuration settings. |
|
type |
The policy configuration type. |
|
url |
string |
The URL where the policy configuration can be retrieved. |
PolicyTypeRef
Policy type reference.
Name | Type | Description |
---|---|---|
displayName |
string |
Display name of the policy type. |
id |
string |
The policy type ID. |
url |
string |
The URL where the policy type can be retrieved. |
ReferenceLinks
The class to represent a collection of REST reference links.
Name | Type | Description |
---|---|---|
links |
object |
The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only. |