Compartir a través de


Conexión a Azure DevOps desde Power Apps

El conector de Power Apps para Azure DevOps le permite trabajar con la instancia de Azure DevOps. Vea las consultas de Azure DevOps, seleccione elementos de trabajo por tipo y vea o edite los detalles, todo desde dentro de una aplicación de lienzo conectada a Azure DevOps.

Sugerencia

Para obtener una lista completa de todas las acciones, consulte Acciones del conector de Azure DevOps.

Este artículo le guía a través de la creación de una aplicación de lienzo que se conecta a Azure DevOps para obtener una lista de consultas e interactuar con elementos de trabajo en el proyecto.

Prerrequisitos

Necesita lo siguiente:

Paso 1: Adición del origen de datos de Azure DevOps

Para conectarse a Azure DevOps, edite la aplicación de lienzo en blanco y agregue el origen de datos de Azure DevOps .

Captura de pantalla de la conexión a Azure DevOps en el panel de selección del origen de datos.

Si no tiene una conexión de Azure DevOps, seleccione Conectar, siga las indicaciones para escribir los detalles y permitir que la aplicación se conecte.

Paso 2: Enumerar consultas compartidas

En esta sección, usará la acción ListQueriesInFolder para el conector de Azure DevOps para enumerar las consultas disponibles.

  1. En el panel izquierdo, seleccione Insertar> galeríavertical en blancode diseño>.

  2. Escriba la fórmula siguiente para la propiedad Items de la galería. Reemplace los valores de parámetro de ejemplo por sus propios valores.

    AzureDevOps.ListQueriesInFolder("Project", "Organization", "Folder").value
    

Captura de pantalla de las consultas de lista en la carpeta mediante la fórmula agregada a la propiedad Items de la galería vertical.

En el ejemplo se usan las variables "Project", "Organization" y "Folder". Los valores reales se encuentran en los cuadros de texto debajo de la barra de fórmulas (resaltado). Los valores de Project y Organization se encuentran en la dirección URL que se usa para conectarse a Azure DevOps. La carpeta suele ser "Consultas compartidas" o "Mis consultas".

Captura de pantalla de la ubicación del proyecto y el nombre de la organización de la instancia de Azure DevOps.

Si recibe el siguiente error en la fórmula anterior, habilite el acceso a aplicaciones de terceros mediante OAuth en la organización de Azure DevOps e inténtelo de nuevo.

"AzureDevOps.ListQueriesInFolder failed:{"status":401,"message":"TF400813::The user 'GUID' isn't authorized to access this resource."}"

  1. Establezca el diseño de la galería en Título y subtítulo.

  2. Elija los campos adecuados para Azure DevOps como Nombre y CarpetaOpciones para el título y los subtítulos.

Captura de pantalla de los campos de la galería para enumerar consultas.

Paso 3: Enumerar elementos de trabajo

Use la acción GetQueryResultsV2 del conector de Azure DevOps para enumerar todos los elementos de trabajo de la consulta seleccionada. Esta acción enlaza la galería al origen de datos.

  1. Inserte otra galería vertical en blanco y colóquela junto a la galería existente.

  2. Escriba la fórmula siguiente para la propiedad Items de la galería. Reemplace los valores de parámetro de ejemplo por los nombres de proyecto y organización.

    AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id), "Organization").value
    

Captura de pantalla de la obtención de los resultados de la consulta de la galería existente en función de la consulta seleccionada.

Esta fórmula usa la acción GetQueryResultsV2 con el nombre del proyecto, el identificador de consulta y el nombre de la organización. El identificador de consulta de este ejemplo (Gallery2.Selected.Id) hace referencia a la consulta seleccionada en la lista de consultas disponibles a través de la galería agregada anteriormente. Reemplace el nombre de la galería según sea necesario.

El resultado de GetQueryResultsV2 es dinámico, por lo que los valores también son dinámicos.

Captura de pantalla de los campos de elemento de trabajo del título, tipo de elemento de trabajo.

Pero puede acceder a algunos de los valores. Azure DevOps devuelve un conjunto básico de valores para todos los elementos con tipo. Seleccione la tarjeta de datos de la galería e inserte dos etiquetas de texto. Establezca la propiedad text de las etiquetas de la siguiente manera:

ThisItem.Value.'System.WorkItemType'
ThisItem.Value.'System.Title'

Paso 4: Mostrar elementos de trabajo

La aplicación muestra una lista de todas las consultas y la lista de elementos de trabajo de la consulta seleccionada. Ahora, agregue un formulario de edición para mostrar los datos.

  1. Mueva ambas galerías al lado izquierdo de la pantalla para dejar espacio para el formulario de edición.

  2. Agregue el formulario Editar a la pantalla y muévalo al lado derecho de las galerías.

Captura de pantalla de la adición de un formulario de edición.

  1. Establezca la propiedad DataSource del formulario de edición en AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value. Reemplace "Project" y "Organization" por los nombres de proyecto y organización.

  2. Establezca la propiedad Item del formulario de edición en Gallery2.Selected.

Esta fórmula establece la propiedad Item del formulario de edición en el elemento de trabajo seleccionado.

  1. Seleccione ... (puntos suspensivos) >Agregar una tarjeta personalizada.

Captura de pantalla de la adición de una tarjeta personalizada en el formulario de edición.

  1. Mueva la tarjeta de datos a la parte superior del formulario de edición.

Captura de pantalla de una tarjeta personalizada movida a la sección superior dentro del formulario de edición.

  1. Aumente el tamaño del control de entrada de texto.

Captura de pantalla de un control de entrada de texto dentro de una tarjeta personalizada.

  1. Establezca la propiedad Default del control de entrada de texto en Text(ThisItem.Value.'System.Title'). La función Text devuelve el valor como texto.

Captura de pantalla de un control de entrada de texto que hace referencia al título del elemento de trabajo.

Esta fórmula establece el texto predeterminado dentro del control de entrada de texto en el campo Título del elemento de trabajo de Azure DevOps seleccionado.

Sugerencia

Si el proyecto de Azure DevOps usa el campo Descripción con html o texto enriquecido, use el control de entrada del editor de texto enriquecido en lugar de los controles Entrada de texto o etiqueta. El control Editor de texto enriquecido ayuda a mostrar la descripción como texto enriquecido en lugar de código HTML.

  1. Repita los pasos anteriores para agregar otra tarjeta personalizada, con un control de entrada de texto dentro con la propiedad Default establecida Text(ThisItem.Value.'System.State')en .

Esta fórmula establece el texto predeterminado dentro del control de entrada de texto en el campo Estado del elemento de trabajo de Azure DevOps seleccionado.

  1. Reorganiza las tarjetas de datos dentro del formulario de edición para crear espacio para el icono de guardado.

Agregar valores devueltos dinámicos a los formularios

Hasta ahora, se usa el formulario Editar, que simplifica el acceso a los datos proporcionando una propiedad común DataSource y Item para todas las tarjetas de datos del formulario. Para tener acceso a los valores dinámicos, establezca tanto el origen de datos como las propiedades del elemento como se indica a continuación (reemplace Organization y Project por sus valores):

AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType')

Al pasar la propiedad de texto "WorkItemType", como "Feature", puede cambiar entre elementos como Características y Elementos de trabajo. Dado que el conjunto de campos de estos elementos difiere, el tipo de valor devuelto de esta llamada es dinámico.

Acceda a valores específicos mediante el método común Text(ThisItem.Value.'System. Id'). Como alternativa, acceda a ellos a través de la respuesta dinámica más general mediante Text(ThisItem.fields.System_Id). Estos nombres de valores dinámicos no se documentan normalmente. Para buscar los nombres correctos de estos campos, incluidos los campos no estándar, abra la herramienta de supervisión y examine la respuesta de datos para la llamada a GetWorkItemDetails. Consulte la imagen siguiente para obtener instrucciones.

Si no usa un formulario De edición, pero usa un contenedor, recupere estos valores con una fórmula como la siguiente, que obtiene información de un campo de equipo personalizado.

Text(AzureDevOps.GetWorkItemDetails(Gallery2.Selected.Value.'System.Id',Organization, Project, Gallery2.Selected.Value.'System.WorkItemType').fields.One_custom_CustomField1)

Captura de pantalla de la herramienta de supervisión que muestra los detalles del elemento de trabajo.

Actualización de valores en Azure DevOps

Para actualizar un valor en Azure DevOps, use la UpdateWorkItem función en la OnSelect propiedad de un botón.

AzureDevOps.UpdateWorkItem(
    Gallery2.Selected.Value.'System.Id',
    Organization,
    {
        description: "This is a new description",
        dynamicFields: ParseJSON(JSON({'Custom Field 1': "This is new custom text" }))
    }
)

La fórmula agrega texto de ejemplo nuevo, pero también puede usar una expresión de Power Fx.

Asegúrese de que la fórmula usa minúsculas para los nombres de campo integrados. Por ejemplo, cuando haga referencia al campo Descripción, use description: "This is a new description" en lugar de Description: "This is a new description". El uso incorrecto de mayúsculas y minúsculas puede dar lugar al error "Falta el parámetro 400 Requerido para la operación solicitada: 'UpdateWorkItem'". Para los valores personalizados o dinámicos, use el nombre para mostrar como se muestra en la interfaz de usuario, como "Campo personalizado 1". Esta convención de nomenclatura es específica de Azure DevOps y puede diferir de otros servicios.

Pasos siguientes

Ejecute la aplicación. Seleccione una consulta en la lista de consultas. A continuación, elija un elemento de trabajo del que desea actualizar el título o la descripción de . Realice un cambio y, a continuación, seleccione el botón Guardar. La aplicación guarda los cambios en el elemento de trabajo de Azure DevOps. Cambie a otra consulta y vuelva a ver los cambios en la aplicación.

También puede personalizar aún más la aplicación o crear una aplicación con más tarjetas de datos en formularios. Use un formulario para mostrar en lugar de un formulario de edición para mostrar datos en diferentes tarjetas de datos. Cuando se usa un formulario para mostrar, use el control Etiqueta de texto para mostrar texto. Cuando use texto enriquecido o formato HTML (como el campo Descripción en Azure DevOps), use el control de texto HTML . Para obtener más información sobre cómo personalizar la aplicación, consulta controles, galería, formularios y tarjetas.

Consulte también

Trabajar con orígenes de datos de esquema dinámico en Power Apps (experimental)