Compartir vía


Creación de un enlace de servicio para Azure DevOps Services y TFS con Trello

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Cree tarjetas y listas en Trello en respuesta a eventos de Azure DevOps. Por ejemplo, cuando se inserta código o se produce una compilación.

Obtención de un token de autorización de Trello

  1. Si no tiene una cuenta de Trello, regístrese en Trello.

  2. Vaya a la página Autorizar Azure DevOps Services para Trello e inicie sesión con sus credenciales de Trello.

  3. Permitir que Azure DevOps use su cuenta de Trello.

    Permitir Azure DevOps Services

  4. Copie el token de autorización.

    Token de autorización de Trello

Cree una tarjeta o una lista de Trello a partir de un evento de Azure DevOps Services.

  1. Vaya a la página Service Hooks del proyecto:

    https://{orgName}/{project_name}/_settings/serviceHooks

    Página de administración del proyecto

    Seleccione Crear suscripción.

  2. Elija el servicio Trello.

    Página del servicio, Trello seleccionada

  3. Configure el evento desencadenador de Visual Studio. En este caso, vamos a hacer que la suscripción responda cuando se cree un elemento de trabajo.

    Página De configuración del desencadenador

  4. Configure la acción que Realizará Trello en respuesta al desencadenador: cree una tarjeta o una lista.

    Página de configuración de acciones

    Puede usar marcadores de posición para insertar contenido del evento en el nombre y la descripción de las tarjetas o listas que crea la suscripción. Por ejemplo, cuando ejecutamos la notificación de prueba, la tarjeta que se crea se denomina "Bug #5: Some great new idea!" porque el elemento de trabajo de prueba es un error (ID=5) con el título "Some great new idea!".

  5. Pruebe la suscripción del enlace de servicio y finalice el asistente.

    Notificación de prueba

Ahora está configurado. Vaya a Trello y vea que aparecen las tarjetas.

Panel de bienvenida con una tarjeta para el error n.º 5

Marcadores de posición

Puede insertar marcadores de posición en el nombre de una lista o el nombre o la descripción de una tarjeta que va a crear la suscripción. Cuando se crea una lista o tarjeta, los marcadores de posición se reemplazarán por valores del evento que se generó. En el ejemplo que usamos para el nombre de la tarjeta de esta página se usa:

    {{workitem.workItemType}} #{{workitem.id}}: {{workitem.title}}

Por lo tanto, cuando se crea un error con el id. 5 y el título "Some great new idea!", el nombre de la tarjeta es "Bug #5: Some great new idea!".

La forma básica del marcador de posición es donde el recurso es {{resource.field}} el nombre del recurso que genera el evento (elemento de trabajo, compilación, etc.) y el campo es un campo dentro de la sección de recursos del evento, como id. Por lo tanto, si la suscripción es para una compilación completada, puede ser algo parecido a

    Build {{build.id}} completed at {{build.finishTime}}

Donde build es el nombre del recurso y el identificador, finishTime son los campos disponibles en este recurso. Para comprender los tipos de eventos, los campos y los recursos disponibles para su uso, examine la referencia de eventos.

Campos de elementos de trabajo

Los campos de elemento de trabajo aparecen en el evento de la matriz fields, como en este ejemplo:

    " fields": {
                " System.AreaPath": "Fabrikam-Fiber-Git", 
                " System.TeamProject": "Fabrikam-Fiber-Git", 
                " System.IterationPath": "Fabrikam-Fiber-Git", 
                " System.WorkItemType": "Product Backlog Item", 
                " System.State": "New", 
                " System.Reason": "New backlog item", 
                " System.CreatedDate": "2014-11-05T21:11:28.85Z", 
                " System.CreatedBy": "Normal Paulk", 
                " System.ChangedDate": "2014-11-05T21:11:29.23Z", 
                " System.ChangedBy": "Normal Paulk", 
                " System.Title": "Test PBI", 
                " Microsoft.Azure DevOps Services.Common.BacklogPriority": 999999999, 
                " WEF_6CB513B6E70E43499D9FC94E5BBFB784_Kanban.Column": "New"
           },

Trabajando directamente desde la definición del evento, habríamos creado el nombre de la tarjeta como este ejemplo:

    {{workitem.fields["System.workItemType"]}} #{{workitem.fields["System.id"]}: {{workitem.fields["System.title"]}}

Como acceso directo, puede hacer referencia a cualquier campo de los espacios de nombres System o Microsoft.Azure DevOps Services.Common como si fueran campos del recurso. De esta forma, {{workitem.fields["System.workItemType"]}} se convierte en {{workitem.workItemType}}.

Expresiones de marcador de posición

Estos marcadores de posición usan una implementación de plantillas de controladores que es compatible en gran medida con Mustache. Algunas expresiones útiles incluyen

Tipo de expresión ejemplos
expresiones básicas {{workitem.name}}
expresiones de matriz {{pullRequest.reviewers.[0].displayName}}
Secciones de bigote {{#workitem.assignedTo}} Esta CONEXIÓN WI está asignada {{/workitem.assignedTo}}
Secciones invertidas de bigote {{^workitem.assignedTo}} Esta conexión WI no está asignada {{/workitem.assignedTo}}
Asistentes de bloques de controladores con
if/else
unless
cada
Rutas de acceso de controladores ...
this
Por ejemplo, {{../comment/id}} o {{this/title}}.
Comentarios de plantilla {{!-- this is a handlebar comment --}}

Precios

Azure DevOps no cobra por el marco de trabajo para la integración con servicios externos. Consulte el sitio del servicio específico para conocer los precios relacionados con sus servicios.

Preguntas y respuestas

P: ¿Puedo crear suscripciones mediante programación?

R: Sí, consulte los detalles aquí.

P: ¿Puedo obtener más información sobre Trello?

R: Sí, trello.com.