Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- Una licencia de Power Apps. Si no tiene una, use una prueba de 30 días o regístrese para obtener un plan de desarrollador para uso que no sea de producción.
- Si no está familiarizado con Power Apps, obtenga información sobre los conceptos básicos mediante la generación de una aplicación, personalice los controles, la galería, los formularios y las tarjetas de la aplicación.
- Una aplicación de lienzo en blanco para conectarse a Azure DevOps.
- Para crear la aplicación en este artículo, necesita una instancia de Azure DevOps con una organización, un proyecto y una consulta compartida que tenga algunos elementos de trabajo de ejemplo disponibles para su edición.
- La instancia de Azure DevOps debe permitir que la aplicación de terceros acceda a través de OAuth. Para más información, consulte Administración de directivas de acceso para Azure DevOps.
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 .
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.
En el panel izquierdo, seleccione Insertar> galeríavertical en blancode diseño>.
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
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".
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."}"
Establezca el diseño de la galería en Título y subtítulo.
Elija los campos adecuados para Azure DevOps como Nombre y CarpetaOpciones para el título y los subtítulos.
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.
Inserte otra galería vertical en blanco y colóquela junto a la galería existente.
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
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.
Adición de valores devueltos dinámicos a la galería
El resultado de GetQueryResultsV2 es dinámico, por lo que los valores también son dinámicos.
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.
Mueva ambas galerías al lado izquierdo de la pantalla para dejar espacio para el formulario de edición.
Agregue el formulario Editar a la pantalla y muévalo al lado derecho de las galerías.
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.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.
- Seleccione ... (puntos suspensivos) >Agregar una tarjeta personalizada.
- Mueva la tarjeta de datos a la parte superior del formulario de edición.
- Aumente el tamaño del control de entrada de texto.
- 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.
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.
- 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.
- 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)
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)