Share via


Configurations - Create

Cree una configuración de directiva de un tipo de directiva determinado.

POST https://dev.azure.com/{organization}/{project}/_apis/policy/configurations?api-version=7.1-preview.1

Parámetros de identificador URI

Nombre En Requerido Tipo Description
organization
path True

string

El nombre de la organización de Azure DevOps.

project
path True

string

Id. de proyecto o nombre del proyecto

api-version
query True

string

Versión de la API que se va a usar. Debe establecerse en "7.1-preview.1" para usar esta versión de la API.

Cuerpo de la solicitud

Nombre Tipo Description
_links

ReferenceLinks

Vínculos a otros objetos relacionados con este objeto.

createdBy

IdentityRef

Referencia a la identidad que creó la directiva.

createdDate

string

Fecha y hora en que se creó la directiva.

id

integer

Identificador de configuración de directiva.

isBlocking

boolean

Indica si la directiva está bloqueando.

isDeleted

boolean

Indica si la directiva se ha eliminado (temporalmente).

isEnabled

boolean

Indica si la directiva está habilitada.

isEnterpriseManaged

boolean

Si se establece, esta directiva requiere el permiso "Administrar directivas de empresa" para crear, editar o eliminar.

revision

integer

Identificador de revisión de la configuración de directiva.

settings

JObject

Las opciones de configuración de directiva.

type

PolicyTypeRef

Tipo de configuración de directiva.

url

string

Dirección URL donde se puede recuperar la configuración de la directiva.

Respuestas

Nombre Tipo Description
200 OK

PolicyConfiguration

operación correcta

Seguridad

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

Nombre Description
vso.code_write Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a los metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar solicitudes de incorporación de cambios y revisiones de código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio.

Ejemplos

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-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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

Sample Request

POST https://dev.azure.com/fabrikam/fabrikam-fiber-git/_apis/policy/configurations?api-version=7.1-preview.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": "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"
  }
}

Definiciones

Nombre Description
IdentityRef
JObject

Representa un objeto JSON.

PolicyConfiguration

Configuración de directiva completa con valores.

PolicyTypeRef

Referencia de tipo de directiva.

ReferenceLinks

Clase que representa una colección de vínculos de referencia de REST.

IdentityRef

Nombre Tipo Description
_links

ReferenceLinks

Este campo contiene cero o más vínculos interesantes sobre el tema del grafo. Estos vínculos se pueden invocar para obtener relaciones adicionales o información más detallada sobre este tema del grafo.

descriptor

string

El descriptor es la forma principal de hacer referencia al asunto del grafo mientras se ejecuta el sistema. Este campo identificará de forma única el mismo asunto del grafo en cuentas y organizaciones.

directoryAlias

string

En desuso: se puede recuperar consultando el usuario de Graph al que se hace referencia en la entrada "self" del diccionario IdentityRef "_links".

displayName

string

Este es el nombre para mostrar no único del asunto del grafo. Para cambiar este campo, debe modificar su valor en el proveedor de origen.

id

string

imageUrl

string

En desuso: disponible en la entrada "avatar" del diccionario "_links" de IdentityRef

inactive

boolean

En desuso: se puede recuperar consultando el estado de pertenencia de Graph al que se hace referencia en la entrada "membershipState" del diccionario GraphUser "_links".

isAadIdentity

boolean

En desuso: se puede deducir del tipo de asunto del descriptor (Descriptor.IsAadUserType/Descriptor.IsAadGroupType)

isContainer

boolean

En desuso: se puede deducir del tipo de sujeto del descriptor (Descriptor.IsGroupType)

isDeletedInOrigin

boolean

profileUrl

string

En desuso: no en uso en la mayoría de las implementaciones preexistentes de ToIdentityRef

uniqueName

string

En desuso: use Domain+PrincipalName en su lugar.

url

string

Esta dirección URL es la ruta completa al recurso de origen de este tema del grafo.

JObject

Representa un objeto JSON.

Nombre Tipo Description
item

string

type

string

Obtiene el tipo de nodo para este JToken.

PolicyConfiguration

Configuración de directiva completa con valores.

Nombre Tipo Description
_links

ReferenceLinks

Vínculos a otros objetos relacionados con este objeto.

createdBy

IdentityRef

Referencia a la identidad que creó la directiva.

createdDate

string

Fecha y hora en que se creó la directiva.

id

integer

Identificador de configuración de directiva.

isBlocking

boolean

Indica si la directiva está bloqueando.

isDeleted

boolean

Indica si la directiva se ha eliminado (temporalmente).

isEnabled

boolean

Indica si la directiva está habilitada.

isEnterpriseManaged

boolean

Si se establece, esta directiva requiere el permiso "Administrar directivas de empresa" para crear, editar o eliminar.

revision

integer

Identificador de revisión de la configuración de directiva.

settings

JObject

Las opciones de configuración de directiva.

type

PolicyTypeRef

Tipo de configuración de directiva.

url

string

Dirección URL donde se puede recuperar la configuración de la directiva.

PolicyTypeRef

Referencia de tipo de directiva.

Nombre Tipo Description
displayName

string

Nombre para mostrar del tipo de directiva.

id

string

Identificador de tipo de directiva.

url

string

Dirección URL donde se puede recuperar el tipo de directiva.

Clase que representa una colección de vínculos de referencia de REST.

Nombre Tipo Description
links

object

Vista de solo lectura de los vínculos. Dado que los vínculos de referencia son de solo lectura, solo queremos exponerlos como de solo lectura.