Partager via


Se connecter à Azure DevOps à partir de Power Apps

Le connecteur Power Apps pour Azure DevOps vous permet d’utiliser votre instance Azure DevOps. Affichez les requêtes Azure DevOps, sélectionnez des éléments de travail par type et affichez ou modifiez les détails, à partir d’une application canevas connectée à Azure DevOps.

Conseil / Astuce

Pour obtenir la liste complète de toutes les actions, consultez les actions du connecteur Azure DevOps.

Cet article vous guide tout au long de la création d’une application canevas qui se connecte à Azure DevOps pour obtenir la liste des requêtes et interagir avec les éléments de travail de votre projet.

Prerequisites

Vous avez besoin des éléments suivants :

Étape 1 : Ajouter une source de données Azure DevOps

Pour vous connecter à Azure DevOps, modifiezl’application canevas vide et ajoutez la source de données Azure DevOps .

Capture d’écran de la connexion à Azure DevOps dans le volet de sélection de la source de données.

Si vous n’avez pas de connexion Azure DevOps, sélectionnez Se connecter, suivez les invites pour entrer vos détails et autoriser l’application à se connecter.

Étape 2 - Répertorier les requêtes partagées

Dans cette section, vous utilisez l’action ListQueriesInFolder pour le connecteur Azure DevOps pour répertorier les requêtes disponibles.

  1. Dans le volet gauche, sélectionnez Insérer une>galerie verticale videde disposition>.

  2. Entrez la formule suivante pour la propriété Items de la galerie. Remplacez l’exemple de valeurs de paramètre par vos propres valeurs.

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

Capture d’écran des requêtes de liste dans le dossier à l’aide de la formule ajoutée à la propriété Items de la galerie verticale.

L’exemple utilise les variables « Project », « Organization » et « Folder ». Les valeurs réelles se trouvent dans les zones de texte situées sous la barre de formule (mise en surbrillance). Vous trouverez vos valeurs Project et Organisation dans l’URL utilisée pour vous connecter à Azure DevOps. Le dossier est généralement « Requêtes partagées » ou « Mes requêtes ».

Capture d’écran de la localisation du nom du projet et de l’organisation pour votre instance Azure DevOps.

Si vous obtenez l’erreur suivante dans la formule ci-dessus, activez l’accès aux applications tierces à l’aide d’OAuth dans votre organisation Azure DevOps, puis réessayez.

« Échec d’AzureDevOps.ListQueriesInFolder :{"status » :401,"message » :"TF400813 :L’utilisateur 'GUID' n’est pas autorisé à accéder à cette ressource.} »

  1. Définissez la disposition de la galerie sur Titre et sous-titre.

  2. Choisissez les champs appropriés pour Azure DevOps en tant que Nom et FolderOptions pour le titre et les sous-titres.

Capture d’écran des champs de la galerie pour répertorier les requêtes.

Étape 3 - Répertorier les éléments de travail

Utilisez l’action GetQueryResultsV2 pour le connecteur Azure DevOps pour répertorier tous les éléments de travail de la requête sélectionnée. Cette action lie la galerie à la source de données.

  1. Insérez une autre galerie verticale vide et placez-la en regard de la galerie existante.

  2. Entrez la formule suivante pour la propriété Items de la galerie. Remplacez les exemples de valeurs de paramètre par les noms de votre projet et de votre organisation.

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

Capture d’écran de l’obtention des résultats de la requête à partir de la galerie existante en fonction de la requête sélectionnée.

Cette formule utilise l’action GetQueryResultsV2 avec le nom du projet, l’ID de requête et le nom de l’organisation. L’ID de requête dans cet exemple (Gallery2.Selected.Id) fait référence à la requête sélectionnée dans la liste des requêtes disponibles via la galerie ajoutée précédemment. Remplacez le nom de la galerie si nécessaire.

Le résultat de GetQueryResultsV2 est dynamique, de sorte que les valeurs sont également dynamiques.

Capture d’écran des champs d’élément de travail du titre, type d’élément de travail.

Mais vous pouvez accéder à certaines des valeurs. Azure DevOps retourne un ensemble de valeurs de base pour tous les éléments typés. Sélectionnez la carte de données dans la galerie et insérez deux étiquettes de texte. Définissez la propriété de texte des étiquettes comme suit :

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

Étape 4 - Afficher les éléments de travail

L’application affiche une liste de toutes les requêtes et la liste des éléments de travail pour la requête sélectionnée. À présent, ajoutez un formulaire de modification pour afficher les données.

  1. Déplacez les deux galeries sur le côté gauche de l’écran pour créer de la place pour le formulaire d’édition.

  2. Ajoutez le formulaire Modifier à l’écran et déplacez-le vers le côté droit des galeries.

Capture d’écran de l’ajout d’un formulaire de modification.

  1. Définissez la propriété DataSource du formulaire de modification sur AzureDevOps.GetQueryResultsV2("Project", Text(Gallery1.Selected.Id),"Organization").value. Remplacez « Projet » et « Organisation » par les noms de votre projet et de votre organisation.

  2. Définissez la propriété Item du formulaire de modification sur Gallery2.Selected.

Cette formule définit la propriété Item du formulaire de modification sur l’élément de travail sélectionné.

  1. Sélectionnez ... (points de suspension) >Ajouter une carte personnalisée.

Capture d’écran de l’ajout d’une carte personnalisée dans le formulaire d’édition.

  1. Déplacez la carte de données en haut du formulaire de modification.

Capture d’écran d’une carte personnalisée déplacée vers la section supérieure à l’intérieur du formulaire de modification.

  1. Augmentez la taille du contrôle d’entrée de texte.

Capture d’écran d’un contrôle d’entrée de texte à l’intérieur d’une carte personnalisée.

  1. Définissez la propriété Par défaut du contrôle Text(ThisItem.Value.'System.Title')d’entrée de texte sur . La fonction Text retourne la valeur sous forme de texte.

Capture d’écran d’un contrôle d’entrée de texte faisant référence au titre de l’élément de travail.

Cette formule définit le texte par défaut à l’intérieur du contrôle d’entrée de texte sur le champ Titre de l’élément de travail Azure DevOps sélectionné.

Conseil / Astuce

Si votre projet Azure DevOps utilise le champ Description avec du texte HTML ou du texte enrichi, utilisez le contrôle d’entrée de l’éditeur de texte enrichi au lieu des contrôles d’entrée de texte ou d’étiquette. Le contrôle éditeur de texte enrichi permet d’afficher la description sous forme de texte enrichi au lieu du code HTML.

  1. Répétez les étapes précédentes pour ajouter une autre carte personnalisée, avec un contrôle d’entrée de texte à l’intérieur avec la propriété Par défaut définie Text(ThisItem.Value.'System.State')sur .

Cette formule définit le texte par défaut à l’intérieur du contrôle d’entrée de texte sur le champ État de l’élément de travail Azure DevOps sélectionné.

  1. Réorganisez les cartes de données à l’intérieur du formulaire d’édition pour créer de l’espace pour l’icône d’enregistrement.

Ajouter des valeurs de retour dynamiques à vos formulaires

Jusqu’à présent, vous utilisez le formulaire Edit, qui simplifie l’accès aux données en fournissant une propriété DataSource et Item commune pour toutes les cartes de données du formulaire. Pour accéder aux valeurs dynamiques, définissez à la fois la source de données et les propriétés d’élément comme suit (remplacez Organisation et Project par vos valeurs) :

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

Lorsque vous passez la propriété de texte « WorkItemType », telle que « Fonctionnalité », vous pouvez basculer entre des éléments tels que des fonctionnalités et des éléments de travail. Étant donné que l’ensemble de champs pour ces éléments diffère, le type de retour de cet appel est dynamique.

Accédez à des valeurs spécifiques à l’aide de la méthode commune Text(ThisItem.Value.'System. ID'). Vous pouvez également y accéder via la réponse dynamique plus générale à l’aide de Text(ThisItem.fields.System_Id). Ces noms de valeurs dynamiques ne sont généralement pas documentés. Pour rechercher les noms corrects de ces champs, y compris les champs non standard, ouvrez l’outil de surveillance et examinez la réponse aux données de l’appel GetWorkItemDetails. Consultez l’image ci-dessous pour obtenir des conseils.

Si vous n’utilisez pas de formulaire Modifier, mais que vous utilisez un conteneur, récupérez ces valeurs avec une formule comme celle ci-dessous, qui obtient des informations d’un champ d’équipe personnalisé.

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

Capture d’écran de l’outil moniteur montrant les détails de l’élément de travail.

Mise à jour des valeurs dans Azure DevOps

Pour mettre à jour une valeur dans Azure DevOps, utilisez la UpdateWorkItem fonction dans la OnSelect propriété d’un bouton.

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 formule ajoute un nouvel exemple de texte, mais vous pouvez également utiliser une expression Power Fx.

Vérifiez que la formule utilise des minuscules pour les noms de champs intégrés. Par exemple, lorsque vous faites référence au champ Description, utilisez description: "This is a new description" plutôt Description: "This is a new description"que . Une casse incorrecte peut entraîner l’erreur « 400 Paramètre obligatoire manquant pour l’opération demandée : « UpdateWorkItem ». Pour les valeurs personnalisées ou dynamiques, utilisez le nom d’affichage comme indiqué dans l’interface utilisateur, par exemple « Champ personnalisé 1 ». Cette convention d’affectation de noms est spécifique à Azure DevOps et peut différer d’autres services.

Étapes suivantes

Exécutez l’application. Sélectionnez une requête dans la liste des requêtes. Ensuite, choisissez un élément de travail dont vous souhaitez mettre à jour le titre ou la description. Apportez une modification, puis sélectionnez le bouton Enregistrer. L’application enregistre vos modifications dans l’élément de travail Azure DevOps. Basculez vers une autre requête, puis revenez pour voir les modifications apportées à l’application.

Vous pouvez également personnaliser l’application plus loin ou créer une application avec plus de cartes de données sur des formulaires. Utilisez un formulaire d’affichage au lieu d’un formulaire de modification pour afficher les données dans différentes cartes de données. Lorsque vous utilisez un formulaire d’affichage, utilisez le contrôle Étiquette de texte pour afficher du texte. Lorsque vous utilisez un texte enrichi ou un format HTML (comme le champ Description dans Azure DevOps), utilisez le contrôle de texte HTML . Pour plus d’informations sur la personnalisation de l’application, consultez contrôles, galerie, formulaires et cartes.

Voir aussi

Utilisation de sources de données de schéma dynamique dans Power Apps (expérimental)