Publishers - List
Obtenga una lista de publicadores.
GET https://dev.azure.com/{organization}/_apis/hooks/publishers?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. |
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. |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
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.work | Concede la capacidad de leer elementos de trabajo, consultas, paneles, rutas de acceso de área e iteraciones, y otros metadatos relacionados con el seguimiento de elementos de trabajo. También concede la capacidad de ejecutar consultas, buscar elementos de trabajo y recibir notificaciones sobre eventos de elementos de trabajo a través de enlaces de servicio. |
vso.build | Concede la capacidad de acceder a los artefactos de compilación, incluidos los resultados de compilación, las definiciones y las solicitudes, y la capacidad de recibir notificaciones sobre eventos de compilación a través de enlaces de servicio. |
vso.code | Concede la capacidad de leer código fuente y metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de buscar código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio. |
Ejemplos
Sample Request
GET https://dev.azure.com/fabrikam/_apis/hooks/publishers?api-version=7.1-preview.1
Sample Response
{
"count": 1,
"value": [
{
"id": "tfs",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs",
"name": "Azure DevOps Server",
"description": "Publishes Azure DevOps Server events",
"supportedEvents": [
{
"publisherId": "tfs",
"id": "build.complete",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/build.complete",
"name": "Build completed",
"description": "A build completes",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "definitionName",
"name": "Build Definition",
"description": "Filter events to include only completed builds for the specified definition",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"hasDynamicValueInformation": true
},
{
"id": "buildStatus",
"name": "Build Status",
"description": "Filter events to include only completed builds for the specified completion status",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
},
{
"value": "Succeeded",
"displayValue": "Succeeded"
},
{
"value": "PartiallySucceeded",
"displayValue": "Partially Succeeded"
},
{
"value": "Failed",
"displayValue": "Failed"
},
{
"value": "Stopped",
"displayValue": "Stopped"
}
],
"isLimitedToPossibleValues": true
}
}
]
},
{
"publisherId": "tfs",
"id": "message.posted",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/message.posted",
"name": "Team room message posted",
"description": "Triggers when a message is posted to a team room",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "roomId",
"name": "Team room",
"description": "Filter events to include only messages sent to the specified Team room",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "number",
"isRequired": true
},
"values": {
"defaultValue": "",
"possibleValues": []
},
"hasDynamicValueInformation": true
},
{
"id": "messagePattern",
"name": "Message contains string",
"description": "The string that must be found in the message",
"inputMode": "textBox",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string",
"pattern": "^[^&<>'\"]*$",
"patternMismatchErrorMessage": "Value cannot contain any of characters: &, <, >, ' (apostrophe), or \\\" (quote).",
"maxLength": 1024
},
"values": {
"defaultValue": "",
"possibleValues": []
}
}
]
},
{
"publisherId": "tfs",
"id": "git.pullrequest.created",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/git.pullrequest.created",
"name": "Pull request created",
"description": "Pull request is created in a git repository",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "repository",
"name": "Repository",
"description": "The repository that code was pushed to",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "guid"
},
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"hasDynamicValueInformation": true
},
{
"id": "branch",
"name": "Target branch",
"description": "The target branch of the pull request",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"dependencyInputIds": [
"repository"
],
"hasDynamicValueInformation": true
}
]
},
{
"publisherId": "tfs",
"id": "git.pullrequest.updated",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/git.pullrequest.updated",
"name": "Pull request updated",
"description": "Pull request is updated – status, review list, reviewer vote changed or the source branch is updated with a push",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "repository",
"name": "Repository",
"description": "The repository that code was pushed to",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "guid"
},
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"hasDynamicValueInformation": true
},
{
"id": "branch",
"name": "Target branch",
"description": "The target branch of the pull request",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"dependencyInputIds": [
"repository"
],
"hasDynamicValueInformation": true
},
{
"id": "notificationType",
"name": "Change",
"description": "The type of pull request change",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
},
{
"value": "PushNotification",
"displayValue": "Source branch updated"
},
{
"value": "ReviewersUpdateNotification",
"displayValue": "Reviewers changed"
},
{
"value": "StatusUpdateNotification",
"displayValue": "Status changed"
},
{
"value": "ReviewerVoteNotification",
"displayValue": "Votes score changed"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
}
}
]
},
{
"publisherId": "tfs",
"id": "git.push",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/git.push",
"name": "Code pushed",
"description": "Code is pushed to a git repository",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "repository",
"name": "Repository",
"description": "The repository that code was pushed to",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "guid"
},
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"hasDynamicValueInformation": true
},
{
"id": "branch",
"name": "Branch",
"description": "The branch that code was pushed into",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"values": {
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true
},
"dependencyInputIds": [
"repository"
],
"hasDynamicValueInformation": true
}
]
},
{
"publisherId": "tfs",
"id": "tfvc.checkin",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/tfvc.checkin",
"name": "Code checked in",
"description": "A changeset is checked into version control.",
"supportedResourceVersions": [
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "path",
"name": "Under path",
"description": "Filter to checkins that change one or more files under the specified path",
"inputMode": "textBox",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string",
"isRequired": true,
"pattern": "^\\$\\/[^&<>'\"]*$"
},
"values": {
"defaultValue": "$/"
}
}
]
},
{
"publisherId": "tfs",
"id": "workitem.created",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/workitem.created",
"name": "Work item created",
"description": "Filter events to include only newly created work items.",
"supportedResourceVersions": [
"1.0-preview.2",
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "areaPath",
"name": "Area path",
"description": "Filter events to include only work items under the specified area path.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
},
{
"id": "workItemType",
"name": "Work item type",
"description": "Filter events to include only work items of the specified type.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
}
]
},
{
"publisherId": "tfs",
"id": "workitem.commented",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/workitem.commented",
"name": "Work item commented on",
"description": "Filter events to include only work items commented on.",
"supportedResourceVersions": [
"1.0-preview.2",
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "areaPath",
"name": "Area path",
"description": "Filter events to include only work items under the specified area path.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
},
{
"id": "workItemType",
"name": "Work item type",
"description": "Filter events to include only work items of the specified type.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
},
{
"id": "commentPattern",
"name": "Contains string",
"description": "The string that must be found in the comment.",
"inputMode": "textBox",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string",
"pattern": "^\\s*[^\\s&<>'\"][^&<>'\"]*$",
"patternMismatchErrorMessage": "Value should contain at least one non whitespace character and cannot contain any of characters: &, <, >, ' (apostrophe), or \" (quote).",
"minLength": 1,
"maxLength": 1024
},
"values": {
"defaultValue": "",
"possibleValues": []
}
}
]
},
{
"publisherId": "tfs",
"id": "workitem.updated",
"url": "https://dev.azure.com/fabrikam/_apis/hooks/publishers/tfs/eventTypes/workitem.updated",
"name": "Work item updated",
"description": "Filter events to include only changed work items.",
"supportedResourceVersions": [
"1.0-preview.2",
"1.0-preview.1"
],
"inputDescriptors": [
{
"id": "areaPath",
"name": "Area path",
"description": "Filter events to include only work items under the specified area path.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
},
{
"id": "workItemType",
"name": "Work item type",
"description": "Filter events to include only work items of the specified type.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"hasDynamicValueInformation": true
},
{
"id": "changedFields",
"name": "Field",
"description": "Filter events to include only work items with the specified field(s) changed.",
"inputMode": "combo",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "string"
},
"values": {
"defaultValue": "",
"possibleValues": [
{
"value": "",
"displayValue": "[Any]"
}
],
"isLimitedToPossibleValues": true,
"isReadOnly": true
},
"dependencyInputIds": [
"workItemType"
],
"hasDynamicValueInformation": true
}
]
}
],
"inputDescriptors": [
{
"id": "projectId",
"name": "Project",
"description": "Team Project to restrict events to",
"inputMode": "none",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "guid"
}
},
{
"id": "teamId",
"name": "Team",
"description": "Team that the subscription is associated with",
"inputMode": "none",
"isConfidential": false,
"useInDefaultDescription": false,
"validation": {
"dataType": "guid"
}
}
]
}
]
}
Definiciones
Nombre | Description |
---|---|
Event |
Describe un tipo de evento |
Input |
Obtiene o establece el tipo de datos que se va a validar. |
Input |
Describe una entrada para las suscripciones. |
Input |
Modo en el que se debe especificar el valor de esta entrada |
Input |
Describe qué valores son válidos para una entrada de suscripción. |
Input |
Información sobre un único valor para una entrada |
Input |
Información sobre los valores posibles o permitidos para una entrada de suscripción determinada |
Input |
Información de error relacionada con un valor de entrada de suscripción. |
Publisher |
Define el contrato de datos de un publicador de eventos. |
Reference |
Clase que se va a representar una colección de vínculos de referencia de REST. |
EventTypeDescriptor
Describe un tipo de evento
Nombre | Tipo | Description |
---|---|---|
description |
string |
Descripción localizada del tipo de evento |
id |
string |
Identificador único para el tipo de evento |
inputDescriptors |
Entradas específicas del evento |
|
name |
string |
Un nombre descriptivo localizado para el tipo de evento |
publisherId |
string |
Identificador único para el publicador de este tipo de evento |
supportedResourceVersions |
string[] |
Versiones admitidas para las cargas de recursos del evento. |
url |
string |
Dirección URL de este recurso |
InputDataType
Obtiene o establece el tipo de datos que se va a validar.
Nombre | Tipo | Description |
---|---|---|
boolean |
string |
Representa un valor de true o false. |
guid |
string |
Representa un GUID. |
none |
string |
No se especifica ningún tipo de datos. |
number |
string |
Representa un valor numérico. |
string |
string |
Representa un valor textual. |
uri |
string |
Representa un URI. |
InputDescriptor
Describe una entrada para las suscripciones.
Nombre | Tipo | Description |
---|---|---|
dependencyInputIds |
string[] |
Identificadores de todas las entradas en las que depende el valor de esta entrada. |
description |
string |
Descripción de lo que se usa para esta entrada |
groupName |
string |
Nombre localizado del grupo al que pertenece esta entrada y se puede mostrar como un encabezado para el contenedor que incluirá todas las entradas del grupo. |
hasDynamicValueInformation |
boolean |
Si es true, la información de valor de esta entrada es dinámica y debe capturarse cuando cambie el valor de las entradas de dependencia. |
id |
string |
Identificador de la entrada de la suscripción |
inputMode |
Modo en el que se debe especificar el valor de esta entrada |
|
isConfidential |
boolean |
Obtiene si esta entrada es confidencial, como para una contraseña o una clave de aplicación. |
name |
string |
Nombre localizado que se puede mostrar como una etiqueta para la entrada de la suscripción |
properties |
object |
Propiedades personalizadas para la entrada que puede usar el proveedor de servicios |
type |
string |
Tipo de datos subyacente para el valor de entrada. Cuando se especifica este valor, InputMode, Validation y Values son opcionales. |
useInDefaultDescription |
boolean |
Obtiene si esta entrada se incluye en la descripción de la acción generada predeterminada. |
validation |
Información que se va a usar para validar el valor de esta entrada |
|
valueHint |
string |
Sugerencia para el valor de entrada. Se puede usar en la interfaz de usuario como marcador de posición de entrada. |
values |
Información sobre los valores posibles para esta entrada |
InputMode
Modo en el que se debe especificar el valor de esta entrada
Nombre | Tipo | Description |
---|---|---|
checkBox |
string |
Se debe mostrar la casilla (para valores true/false) |
combo |
string |
Se debe mostrar un control select/combo |
none |
string |
Esta entrada no debe mostrarse en la interfaz de usuario. |
passwordBox |
string |
Se debe mostrar un cuadro de entrada de contraseña |
radioButtons |
string |
Se deben mostrar los botones de radio |
textArea |
string |
Se debe mostrar un área de texto de varias líneas |
textBox |
string |
Se debe mostrar un cuadro de texto de entrada |
InputValidation
Describe qué valores son válidos para una entrada de suscripción.
Nombre | Tipo | Description |
---|---|---|
dataType |
Obtiene o establece el tipo de datos que se va a validar. |
|
isRequired |
boolean |
Obtiene o establece si se trata de un campo obligatorio. |
maxLength |
integer |
Obtiene o establece la longitud máxima de este descriptor. |
maxValue |
string |
Obtiene o establece el valor mínimo de este descriptor. |
minLength |
integer |
Obtiene o establece la longitud mínima de este descriptor. |
minValue |
string |
Obtiene o establece el valor mínimo de este descriptor. |
pattern |
string |
Obtiene o establece el patrón que se va a validar. |
patternMismatchErrorMessage |
string |
Obtiene o establece el error en el error de coincidencia de patrones. |
InputValue
Información sobre un único valor para una entrada
Nombre | Tipo | Description |
---|---|---|
data |
object |
Cualquier otro dato sobre esta entrada |
displayValue |
string |
Texto que se va a mostrar para la presentación de este valor |
value |
string |
Valor que se va a almacenar para esta entrada |
InputValues
Información sobre los valores posibles o permitidos para una entrada de suscripción determinada
Nombre | Tipo | Description |
---|---|---|
defaultValue |
string |
Valor predeterminado que se va a usar para esta entrada |
error |
Errores detectados al calcular valores dinámicos. |
|
inputId |
string |
Identificador de la entrada |
isDisabled |
boolean |
Si esta entrada está deshabilitada |
isLimitedToPossibleValues |
boolean |
Si el valor se restringe a uno de los valores de PossibleValues (True) o son los valores de PossibleValues solo una sugerencia (False) |
isReadOnly |
boolean |
En caso de que esta entrada se haga de solo lectura |
possibleValues |
Valores posibles que esta entrada puede tomar |
InputValuesError
Información de error relacionada con un valor de entrada de suscripción.
Nombre | Tipo | Description |
---|---|---|
message |
string |
El mensaje de error. |
Publisher
Define el contrato de datos de un publicador de eventos.
Nombre | Tipo | Description |
---|---|---|
_links |
Vínculos de referencia |
|
description |
string |
Obtiene la descripción localizada de este publicador. |
id |
string |
Obtiene el identificador de este publicador. |
inputDescriptors |
Entradas específicas del publicador |
|
name |
string |
Obtiene el nombre localizado de este publicador. |
serviceInstanceType |
string |
Tipo de instancia de servicio del publicador de primera entidad. |
supportedEvents |
Obtiene los tipos de eventos admitidos por este publicador. |
|
url |
string |
Dirección URL de este recurso |
ReferenceLinks
Clase que se va a representar una colección de vínculos de referencia de REST.
Nombre | Tipo | Description |
---|---|---|
links |
object |
Vista de lectura de los vínculos. Dado que los vínculos de referencia son de solo lectura, solo queremos exponerlos como de solo lectura. |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de