GitHub Actions disponibles pour le développement de Microsoft Power Platform

Les GitHub Actions pour Microsoft Power Platform sont décrites dans les sections suivantes. En outre, des exemples de workflows GitHub sont également affichés. Pour plus d’informations sur les actions GitHub et comment les télécharger, accédez à Actions GitHub pour Microsoft Power Platform.

Configurer les informations d’identification à utiliser avec les actions GitHub avec Microsoft Power Platform

De nombreuses actions nécessitent que vous vous connectiez à un environnement Microsoft Dataverse. Vous pouvez ajouter des informations d’identification de principal de service ou d’utilisateur en tant que secrets dans votre référentiel GitHub, puis les utiliser dans vos workflows.

  • Pour plus de détails sur la configuration des secrets dans GitHub, consultez Secrets cryptés

  • Pour plus de détails sur la configuration de l’authentification du principal de service pour Microsoft Power Platform, voir Outils de création DevOps

Une fois configuré, vous pouvez appeler le principal du service à partir de vos scripts d’action.

Paramètres à définir dans votre script d’action GitHub comme Variables d’environnement :

  • L’ID de l’application tel que WF_APPLICATION_ID:<your application id>
  • L’ID de client tel que WF_TENANT_ID:<your tenant id>

La clé secrète client doit être ajoutée et stockée en tant que secret GitHub, et sera référencée à partir du workflow à l’aide d’un paramètre tel que : client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tâches d’aide

La tâche d’assistance disponible est décrite ci-dessous.

actions-install

Lorsqu’un workflow GitHub Actions force une installation de Power Platform CLI dans le contexte d’un exécuteur et qu’une erreur de délai d’expiration se produit, vous devez utiliser la version 1 (@v1) avec une action supplémentaire (actions-install) comme ci-dessous.

Important

  • L’utilisation de la version 1 (@v1) peut entraîner des mises à jour des GitHub Actions existantes, ce qui peut entraîner la mise à jour des workflows actuels.
  • Vous devez ajouter la tâche Installer Power Platform Tools comme première tâche dans votre workflow avant toute autre GitHub Action pour Power Platform.
jobs:
    builds:
        runs-on: windows-latest   # alternate runner OS is: ubuntu-latest

    steps:
    - name: Install Power Platform Tools
        uses: microsoft/powerplatform-actions/actions-install@v1

    - name: Export Solution
         uses: microsoft/powerplatform-actions/export-solution@v1
      with:
         environment-url: 'https://myenv.crm.dynamics.com'
         user-name: 'me@myenv.onmicrosoft.com'
         password-secret: ${{ secrets.MYPASSWORD }}
         solution-name: aSolution
         solution-output-file: 'aSolution.zip'
         working-directory: 'out'

Vous pouvez trouver des exemples supplémentaires de GitHub Actions dans Actions Power Platform.

whoAmI

Vérifie la connexion au service en se connectant au service et en envoyant une demande de [Kit de développement logiciel (SDK)/API web] WhoAmI. Cette tâche peut être utile à inclure au début de votre workflow GitHub, pour vérifier la connectivité avant le début du traitement.

Paramètre Description
environment-url L’URL de l’environnement auquel vous souhaitez vous connecter.
user-name Le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret Mot de passe pour user-name. Les mots de passe GitHub sont définis dans Paramètres sous Secrets. Vous ne pouvez pas récupérer un secret une fois qu’il a été défini et enregistré.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.

Tâches de solution

Ces tâches exécutent des opérations sur des solutions, et incluent ce qui suit :

importer la solution

Importe une solution dans un environnement cible.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez importer la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
solution-file (Obligatoire) Le chemin et le nom du fichier de solution que vous souhaitez importer.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.

exporter la solution

Exporte une solution à partir d’un environnement source.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez exporter la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe pour user-name. Les mots de passe GitHub sont définis dans Paramètres sous Secrets. Vous ne pouvez pas récupérer un secret une fois qu’il a été défini et enregistré.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.
solution-name (Obligatoire) Nom de la solution à exporter. Utilisez toujours le nom de la solution, pas son nom d’affichage.
solution-output-file (Obligatoire) Chemin d’accès et nom du fichier solution.zip vers lequel exporter l’environnement source.
managed (Obligatoire) Définissez sur vrai pour exporter en tant que solution gérée ; la valeur par défaut (faux) permet d’exporter en tant que solution non gérée.

décompresser une solution

Prend un fichier de solution compressé et le décompose en plusieurs fichiers XML afin qu’ils puissent être plus facilement lus et gérés par un système de contrôle de code source.

Paramètre Description
solution-file (Obligatoire) Chemin d’accès et nom du fichier solution.zip à décompresser.
solution-folder (Obligatoire) Chemin d’accès et dossier cible dans lequel vous souhaitez décompresser la solution.
solution-type (Obligatoire) Type de solution à décompresser. Les options comprennent : Non géré (conseillé), Géré et Les deux.

compresser une solution

Compresse une solution représentée dans le contrôle source dans un fichier solution.zip pouvant être importé dans un autre environnement.

Paramètre Description
solution-file (Obligatoire) Le chemin et le nom du fichier solution.zip contenant la solution (par exemple, out/CI/ALMLab.zip).
solution-folder (Obligatoire) Chemin d’accès et dossier source de la solution à compresser.
solution-type (Facultatif) Le type de solution à compresser. Les options comprennent : Non géré (conseillé), Géré et Les deux.

publier la solution

Publie les personnalisations de solution.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement dans lequel vous voulez publier la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
solution-file (Obligatoire) Le chemin et le nom du fichier de solution que vous souhaitez importer.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.

cloner la solution

Clone la solution pour un environnement donné.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez cloner la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
solution-file (Obligatoire) Le chemin et le nom du fichier de solution que vous souhaitez importer.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.
solution-name (Obligatoire) Le chemin et le nom du fichier solution.zip à cloner (par exemple, out/CI/ALMLab.zip).
version de la solution Version de la solution à cloner.
dossier cible Dossier cible dans lequel placer la solution extraite. (par exemple, référentiel Git\t dossier-solution-arget).
Répertoire de travail Dossier temporaire pour les artefacts de travail en cours nécessaires au clonage de la solution.
par défaut : root of the repository

vérificateur de solution

Vérifie le fichier de solution pour détecter les incohérences.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez cloner la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.
chemin (Obligatoire) Le chemin et le nom du fichier de solution que vous souhaitez vérifier.
geo Quelle géolocalisation du service Vérificateur Microsoft Power Platform à utiliser. La valeur par défaut est « États-Unis ».
règle-niveau-écraser Chemin d’accès au fichier contenant un tableau JSON de règles et leurs niveaux. Les valeurs acceptées sont : Critique, Élevé, Faible et Informationnel. Exemple : [{« Id »:« meta-remove-dup-reg »,« OverrideLevel »:« Moyen »},{« Id »:« il-evid-specialized-update-ops »,« OverrideLevel »:« Moyen »}]
checker-logs-nom-artefact Le nom du dossier d’artefacts pour lequel les journaux du vérificateur Microsoft Power Platform seront téléchargés. La valeur par défaut est « CheckSolutionsLogs ».

mise à niveau-solution

Offre la possibilité de mettre à niveau la solution.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez cloner la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
solution-file (Obligatoire) Le chemin et le nom du fichier de solution que vous souhaitez importer.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.
solution-name (Obligatoire) Nom de la solution à mettre à niveau.
asynchrone Met à niveau la solution de manière asynchrone.
Délai d’attente maximal Temps d’attente asynchrone maximum en minutes. La valeur par défaut est 60 minutes.

Tâches de package

Ces tâches effectuent des actions sur les packages et incluent les éléments suivants.

Package de déploiement

Offre la possibilité d’afficher un package .dll ou .zip avec un package.

Note

Cette action n’est prise en charge que sous Windows.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement cible dans lequel vous voulez cloner la solution (par exemple, https://YourOrg.crm.dynamics.com).
user-name (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le nom d’utilisateur du compte que vous utilisez pour vous connecter.
password-secret (Obligatoire) Si vous utilisez l’authentification par nom d’utilisateur/mot de passe, le mot de passe du compte que vous utilisez pour vous connecter.
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
ID de locataire L’ID du locataire lors de l’authentification avec app-id et client-secret.
package (Obligatoire) Chemin d’accès à un fichier dll ou zip avec un package.

Tâches de portail

Ces tâches effectuent les actions suivantes sur les portails Power Pages.

upload-paportal

Télécharge des données vers Power Pages.

Paramètre Description
environment-url (Obligatoire) URL de l’environnement dans lequel vous voulez importer la solution (par exemple, https://YourOrg.crm.dynamics.com).
id d’application L’ID d’application pour l’authentification. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
Clé secrète client Le secret client utilisé pour authentifier le pipeline GitHub. Ce paramètre est obligatoire lors de l’authentification avec les informations d’identification du principal de service.
tenant-id L’ID du locataire lors de l’authentification avec app-id et client-secret.
upload-path Chemin où est stocké le contenu du site web (alias : -p).
deployment-profile Chargez les données du portail avec les détails de l′environnement définis par les variables de profil dans le fichier deployment-profiles/[profile-name].deployment.yaml.

Tâches du catalogue (version préliminaire)

Ces tâches exécutent des actions sur le catalogue dans Power Platform et incluent ce qui suit :

Note

Actuellement, les tâches du catalogue pour Power Platform sont une version préliminaire.

install

Installez un élément de catalogue dans l’environnement cible.

Paramètre Description
catalog-item-id (Obligatoire) Élément du catalogue à installer dans l’environnement cible.
target-url (Obligatoire) URL de l’environnement cible pour l’installation de l’élément du catalogue (par exemple, « https://YourOrg.crm.dynamics.com" »).
settings (Obligatoire) Paramètres du package d’exécution pour l’infrastructure d’installation à exécuter. Le format de la chaîne doit être key=value|key=value.
target-version Version cible à installer. Si cette option est laissée vide, la version publiée est sélectionnée.
poll-status Interrogez pour vérifier le statut de votre demande.

submit

Répertoriez tous les éléments du catalogue publiés à partir de l’environnement Dataverse actuel (organisation).

Paramètre Description
path (Obligatoire) Chemin d’accès au document d’envoi du catalogue.
package-zip Chemin d’accès au fichier zip du package.
solution-zip Chemin d’accès au fichier zip de la solution.
poll-status Interrogez pour vérifier le statut de votre demande.

status

Permet d’obtenir le statut de la demande d’installation/d’envoi de Catalog.

Paramètre Description
tracking-id (Obligatoire) ID de suivi de la demande.
type (Obligatoire) Type de demande (Valeurs : Installer, Soumettre)

Création de workflow GitHub

Pour en savoir plus sur la composition de workflows GitHub à l’aide d’actions GitHub, complétez les laboratoires Actions GitHub pour Microsoft Power Platform.

Plus d’informations : À propos des actions GitHub

Voir aussi

GitHub Actions for Microsoft Power Platform