Configurations - Create
Créez une configuration de stratégie d’un type de stratégie donné.
POST https://dev.azure.com/{organization}/{project}/_apis/policy/configurations?api-version=7.1
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
Nom de l’organisation Azure DevOps. |
|
project
|
path | True |
string |
ID de projet ou nom du projet |
|
api-version
|
query | True |
string |
Version de l’API à utiliser. Cette valeur doit être définie sur « 7.1 » pour utiliser cette version de l’API. |
Corps de la demande
| Nom | Type | Description |
|---|---|---|
| _links |
Liens vers d’autres objets liés à cet objet. |
|
| createdBy |
Référence à l’identité qui a créé la stratégie. |
|
| createdDate |
string (date-time) |
Date et heure de création de la stratégie. |
| id |
integer (int32) |
ID de configuration de stratégie. |
| isBlocking |
boolean |
Indique si la stratégie est bloquée. |
| isDeleted |
boolean |
Indique si la stratégie a été supprimée (réversible). |
| isEnabled |
boolean |
Indique si la stratégie est activée. |
| isEnterpriseManaged |
boolean |
Si elle est définie, cette stratégie nécessite l’autorisation « Gérer les stratégies d’entreprise » pour créer, modifier ou supprimer. |
| revision |
integer (int32) |
ID de révision de la configuration de stratégie. |
| settings |
Paramètres de configuration de stratégie. |
|
| type |
Type de configuration de stratégie. |
|
| url |
string |
URL où la configuration de la stratégie peut être récupérée. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK |
opération réussie |
Sécurité
oauth2
Type:
oauth2
Flux:
accessCode
URL d’autorisation:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL du jeton:
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
Étendues
| Nom | Description |
|---|---|
| vso.code_write | Accorde la possibilité de lire, de mettre à jour et de supprimer du code source, d’accéder aux métadonnées relatives aux validations, aux ensembles de modifications, aux branches et à d’autres artefacts de contrôle de version. Accorde également la possibilité de créer et de gérer des demandes de tirage et des révisions de code et de recevoir des notifications sur les événements de contrôle de version via des hooks de service. |
Exemples
| 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
Exemple de requête
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"
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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"
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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"
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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"
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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
Exemple de requête
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"
}
]
}
}
Exemple de réponse
{
"createdBy": {
"id": "d6245f20-2af8-44f4-9451-8107cb2767db",
"displayName": "Normal Paulk",
"uniqueName": "fabrikamfiber16@hotmail.com",
"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"
}
}
Définitions
| Nom | Description |
|---|---|
|
Identity |
|
| JObject |
Représente un objet JSON. |
|
Policy |
Configuration complète de la stratégie avec les paramètres. |
|
Policy |
Référence de type de stratégie. |
|
Reference |
Classe à représenter une collection de liens de référence REST. |
IdentityRef
| Nom | Type | Description |
|---|---|---|
| _links |
Ce champ contient zéro ou plus de liens intéressants sur le sujet du graphe. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique. |
|
| descriptor |
string |
Le descripteur est le principal moyen de référencer l’objet du graphique pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphique sur les comptes et les organisations. |
| directoryAlias |
string |
Déconseillé : peut être récupéré en interrogeant l’utilisateur Graph référencé dans l’entrée « auto » du dictionnaire IdentityRef « _links » |
| displayName |
string |
Il s’agit du nom complet non unique de l’objet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source. |
| id |
string |
|
| imageUrl |
string |
Déconseillé - Disponible dans l’entrée « avatar » du dictionnaire IdentityRef « _links » |
| inactive |
boolean |
Déconseillé : peut être récupéré en interrogeant l’état d’appartenance Graph référencé dans l’entrée « membershipState » du dictionnaire GraphUser « _links » |
| isAadIdentity |
boolean |
Déconseillé : peut être déduit du type d’objet du descripteur (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
| isContainer |
boolean |
Déconseillé : peut être déduit du type d’objet du descripteur (Descriptor.IsGroupType) |
| isDeletedInOrigin |
boolean |
|
| profileUrl |
string |
Déconseillé : non utilisé dans la plupart des implémentations préexistantes de ToIdentityRef |
| uniqueName |
string |
Déconseillé : utiliser Domain+PrincipalName à la place |
| url |
string |
Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphe. |
JObject
Représente un objet JSON.
| Nom | Type | Description |
|---|---|---|
| item |
string (JToken) |
|
| type |
string (JTokenType) |
Obtient le type de nœud de ce JToken. |
PolicyConfiguration
Configuration complète de la stratégie avec les paramètres.
| Nom | Type | Description |
|---|---|---|
| _links |
Liens vers d’autres objets liés à cet objet. |
|
| createdBy |
Référence à l’identité qui a créé la stratégie. |
|
| createdDate |
string (date-time) |
Date et heure de création de la stratégie. |
| id |
integer (int32) |
ID de configuration de stratégie. |
| isBlocking |
boolean |
Indique si la stratégie est bloquée. |
| isDeleted |
boolean |
Indique si la stratégie a été supprimée (réversible). |
| isEnabled |
boolean |
Indique si la stratégie est activée. |
| isEnterpriseManaged |
boolean |
Si elle est définie, cette stratégie nécessite l’autorisation « Gérer les stratégies d’entreprise » pour créer, modifier ou supprimer. |
| revision |
integer (int32) |
ID de révision de la configuration de stratégie. |
| settings |
Paramètres de configuration de stratégie. |
|
| type |
Type de configuration de stratégie. |
|
| url |
string |
URL où la configuration de la stratégie peut être récupérée. |
PolicyTypeRef
Référence de type de stratégie.
| Nom | Type | Description |
|---|---|---|
| displayName |
string |
Nom complet du type de stratégie. |
| id |
string (uuid) |
ID de type de stratégie. |
| url |
string |
URL dans laquelle le type de stratégie peut être récupéré. |
ReferenceLinks
Classe à représenter une collection de liens de référence REST.
| Nom | Type | Description |
|---|---|---|
| links |
object |
Vue en lecture seule des liens. Étant donné que les liens de référence sont en lecture seule, nous voulons uniquement les exposer en lecture seule. |