Verfügbare GitHub Actions für die Microsoft Power Platform-Entwicklung

In den folgenden Abschnitten werden GitHub Actions für Microsoft Power Platform beschrieben. In den Abschnitten werden auch GitHub-Beispielworkflows angezeigt. Weitere Informationen zu GitHub Actions und dazu, wie Sie sie herunterladen können, finden Sie unter GitHub Actions für Microsoft Power Platform.

Anmeldeinformationen für die Verwendung mit GitHub Actions mit Microsoft Power Platform konfigurieren

Viele der Aktionen erfordern, dass Sie eine Verbindung mit einer Microsoft Dataverse-Umgebung herstellen. Fügen Sie Dienstprinzipalobjekt- oder Benutzeranmeldeinformationen als Geheimnisse in Ihrem GitHub-Repository hinzu, und verwenden Sie sie dann in Ihren Workflows.

  • Ausführliche Informationen zum Einrichten von Geheimnissen in GitHub finden Sie unter Verschlüsselte Geheimnisse.

  • Ausführliche Informationen zum Einrichten der Dienstprinzipalauthentifizierung für Microsoft Power Platform finden Sie unter DevOps Build tools.

Nachdem Sie die Anmeldeinformationen konfiguriert haben, können Sie den Service Principal in Ihren Aktionsskripts aufrufen.

Definieren Sie die folgenden Parameter in Ihrem GitHub Action Script als Umgebungsvariablen:

  • Anwendungs-ID, z. B.: WF_APPLICATION_ID:<your application id>
  • Mandanten-ID, z. B.: WF_TENANT_ID:<your tenant id>

Fügen Sie den geheimen Clientschlüssel als GitHub-Secret hinzu. Verweisen Sie darauf aus dem Workflow mithilfe eines Parameters wie: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Hilfsaufgaben

Der folgende Hilfs-Task steht zur Verfügung.

actions-install

Wenn ein GitHub Actions-Workflow eine Installation der Power Platform CLI im Kontext eines Läufers erzwingt und ein Timeoutfehler auftritt, verwenden Sie Version 1 (@v1) mit einer zusätzlichen Aktion (actions-install) wie im folgenden Beispiel gezeigt.

Wichtig

  • Die Verwendung von Version 1 (@v1) kann zu Aktualisierungen vorhandener GitHub Actions führen, die dazu führen können, dass aktuelle Workflows aktualisiert werden.
  • Fügen Sie die Aufgabe "Power Platform Tools installieren" als erste Aufgabe in Ihrem Workflow vor allen anderen GitHub Actions für Power Platform hinzu.
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'

Weitere Beispiele für GitHub Actions finden Sie unter Power Platform Actions.

whoAmI

Überprüfen Sie die Dienstverbindung, indem Sie sich mit dem Dienst verbinden und eine WhoAmI [SDK/Web API] Anfrage senden. Diese Aufgabe kann hilfreich sein, um sie frühzeitig in Ihren GitHub-Workflow einzubinden, damit die Konnektivität überprüft werden kann, bevor die Verarbeitung beginnt.

Parameter Beschreibung
environment-url Die URL für die Umgebung, mit der Sie sich verbinden.
Benutzer-Name Der Benutzername des Kontos, das Sie zum Herstellen der Verbindung verwenden.
password-secret Das Kennwort für user-name. Definieren Sie GitHub Kennwörter in den Einstellungen unter Geheimnisse. Sie können nach dem Definieren und Speichern kein Secret abrufen.
app-id Die Anwendungs-ID, mit der authentifiziert wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das zum Authentifizieren der GitHub-Pipeline verwendete Clientgeheimnis Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.

Lösungsaufgaben

Diese Aufgaben führen Aktionen gegen Lösungen aus und umfassen Folgendes.

import-solution

Importiert eine Lösung in eine Zielumgebung.

Parameter Beschreibung
environment-url (Erforderlich) Die URL für die Zielumgebung, in die Sie die Lösung importieren möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto ein, mit dem Sie eine Verbindung herstellen wollen.
Projektmappendatei (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie importieren möchten
app-id Anwendungs-ID zur Authentifizierung Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Clientgeheimnis wird zur Authentifizierung der GitHub-Pipeline verwendet. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.

export-solution

Exportiert eine Lösung aus einer Quellumgebung.

Parameter Beschreibung
Umgebung-URL (Erforderlich) Die URL für die Umgebung, aus der Sie die Lösung exportieren möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie die Verbindung herstellen.
password-secret (Erforderlich) Wenn Sie die Authentifizierung mit Benutzername/Passwort verwenden, das Passwort für user-name. Definieren Sie GitHub-Kennwörter in den Einstellungen unter Geheimnisse. Sie können nach dem Definieren und Speichern kein Secret abrufen.
app-id Die Anwendungs-ID, mit der authentifiziert wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Client-Secret, das zur Authentifizierung der GitHub-Pipeline verwendet wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
Mandanten-ID Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
solution-name (Erforderlich) Der Name der zu exportierenden Lösung. Verwenden Sie immer den Namen der Lösung, nicht den Anzeigenamen.
Ausgabedatei der Lösung (Erforderlich) Der Pfad und der Name der solution.zip-Datei, in die die Quellumgebung exportiert werden soll.
verwaltet (Erforderlich) Festgelegt auf True, um als verwaltete Lösung zu exportieren; die Vorgabe (false) ist der Export als nicht verwaltete Lösung.

unpack-solution

Übernimmt eine komprimierte Lösungsdatei und zerlegt sie in mehrere XML-Dateien. Sie können diese Dateien in einem Quellcodeverwaltungssystem einfacher lesen und verwalten.

Parameter Beschreibung
Projektmappendatei (Erforderlich) Der Pfad und Dateiname der zu entpackenden Datei solution.zip an.
Lösungs-Ordner (Erforderlich) Der Pfad und der Zielordner, in dem Sie die Lösung entpacken möchten.
Lösungstyp (Erforderlich) Die Art der Lösung, die Sie entpacken möchten. Die Optionen umfassen Unverwaltet (empfohlen), Verwaltet und Beides.

pack-solution

Packt eine Lösung, die in der Quellcodeverwaltung dargestellt wird, in eine solution.zip Datei, die Sie in eine andere Umgebung importieren können.

Parameter Beschreibung
Projektmappendatei (Erforderlich) Der Pfad und Dateiname der Datei solution.zip, in die die Lösung verpackt werden soll (z. B. out/CI/ALMLab.zip).
Lösungs-Ordner (Erforderlich) Der Pfad und der Quellordner der zu packenden Lösung.
Lösungstyp (Optional) Typ der zu packenden Lösung. Die Optionen umfassen Unmanaged (empfohlen), Managed und Both.

publish-solution

Veröffentlicht die Lösungsanpassungen

Parameter Beschreibung
Umgebung-url (Erforderlich) Die URL für die Umgebung, in der Sie die Lösung veröffentlichen möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos ein, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto an, mit dem Sie eine Verbindung herstellen.
Lösungsdatei (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie importieren möchten
app-id Die Anwendungs-ID zur Authentifizierung Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Clientgeheimnis wird zum Authentifizieren der GitHub-Pipeline verwendet. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.

clone-solution

Kloniert die Lösung für eine angegebene Umgebung.

Parameter Beschreibung
Umgebung-URL (Erforderlich) Die URL für die Umgebung, aus der Sie die Lösung klonen möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto ein, mit dem Sie eine Verbindung herstellen wollen.
Lösungs-Datei (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie importieren möchten
app-id Die Anwendungs-ID, mit der authentifiziert wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Client-Secret, das zur Authentifizierung der GitHub-Pipeline verwendet wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
solution-name (Erforderlich) Der Pfad und Name der Datei solution.zip, die zum Klonen benötigt wird (z. B. out/CI/ALMLab.zip)
solution-version Version der zu klonenden Lösung auswählen
target-folder Zielordner, in dem die extrahierte Lösung abgelegt werden soll (z. B. Git repository\target-solution-folder).
Working-directory Temporärer Ordner für Artefakte in Bearbeitung, die zum Klonen der Lösung benötigt werden
Standard: root of the repository

check-solution

Überprüft die Lösungsdatei, um Inkonsistenzen zu erkennen

Parameter Beschreibung
Umgebung-URL (Erforderlich) Die URL für die Umgebung, aus der Sie die Lösung klonen möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie die Verbindung herstellen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto ein, mit dem Sie eine Verbindung herstellen wollen.
app-id Die Anwendungs-ID, mit der authentifiziert wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Client-Secret, das zur Authentifizierung der GitHub-Pipeline verwendet wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
Pfad (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie prüfen möchten
geo Welchen geografischen Standort des Microsoft Power Platform-Überprüfungsdiensts verwenden? Standardwert ist 'united states'
rule-level-override Pfad zu einer Datei, die ein JSON-Array von Regeln und deren Ebenen enthält Zulässige Werte sind: Critical, High, Low und Informational Beispiel: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Der Name des Artefaktordners, für den die Microsoft Power Platform-Prüfprotokolle hochgeladen werden Standardwert ist 'CheckSolutionLogs'

upgrade-solution

Rüstet die Lösung auf.

Parameter Beschreibung
environment-url (Erforderlich) Die URL für die Umgebung, aus der Sie die Lösung klonen möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie eine Verbindung herstellen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto ein, mit dem Sie eine Verbindung herstellen wollen.
Projektmappendatei (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie importieren möchten
app-id Die Anwendungs-ID, mit der die Authentifizierung erfolgt. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Clientgeheimnis wird zur Authentifizierung der GitHub-Pipeline verwendet. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
solution-name (Erforderlich) Name der zu aktualisierenden Lösung
asynchron Upgradet die Lösung asynchron.
max-async-wait-time Maximale asynchrone Wartezeit in Minuten Standardwert ist 60 Minuten

Aufgabenpakete

Diese Aufgaben führen Aktionen an Paketen aus.

deploy-package

Stellt eine Paket-DLL oder eine ZIP-Datei eines Pakets bereit.

Hinweis

Diese Aktion wird nur für Windows unterstützt.

Parameter Beschreibung
Umgebungs-URL (Erforderlich) Die URL für die Umgebung, aus der Sie die Lösung klonen möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzer-Name (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie den Benutzernamen des Kontos an, mit dem Sie eine Verbindung herstellen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, geben Sie das Kennwort für das Konto ein, mit dem Sie eine Verbindung herstellen wollen.
app-id Die Anwendungs-ID, mit der authentifiziert wird. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Clientgeheimnis wird zum Authentifizieren der GitHub-Pipeline verwendet. Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
Paket (Erforderlich) Der Pfad zur Paket-DLL- oder ZIP-Datei mit einem Paket.

Portalaufgaben

Diese Aufgaben führen die folgenden Aktionen bei Power Pages aus.

upload-paportal

Lädt Daten in Power Pages hoch.

Parameter Beschreibung
Umgebung-url (Erforderlich) Die URL für die Umgebung, in der Sie die Lösung importieren möchten (z. B. https://YourOrg.crm.dynamics.com).
app-id Die Anwendungs-ID für die Authentifizierung Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
client-secret Das Clientgeheimnis, das zum Authentifizieren der GitHub-Pipeline verwendet wird Dieser Parameter ist erforderlich bei der Authentifizierung mit Dienstprinzipal-Anmeldeinformationen.
tenant-id Die Mandanten-ID bei der Authentifizierung mit app-id und client-secret.
upload-path Pfad, unter dem der Website-Inhalt gespeichert ist (Alias: -p).
deployment-profile Portaldaten mit Umgebungsdetails hochladen, die durch Profilvariablen in deployment-profiles/[profile-name].deployment.yaml file definiert wurden.
model-version Gibt an, ob die hochzuladenden Websitedaten das Standardmodell (1) oder das erweiterte Datenmodell (2) verwenden. Der Standardwert ist 1.

Weitere Informationen über Microsoft Power Platform CLI-Support für Power Pages.

Aufgaben katalogisieren (Vorschau)

Diese Aufgaben führen Aktionen für den Katalog in Power Platform aus.

Hinweis

Derzeit befinden sich Katalogaufgaben für Power Platform in der Vorschau.

Installieren

Installieren Sie ein Catalog-Element in der Zielumgebung.

Parameter Beschreibung
catalog-item-id (Erforderlich) Katalogelement, das in der Zielumgebung installiert werden soll.
target-url (Erforderlich) Die URL der Zielumgebung für die Installation des Katalogelements (z. B. https://YourOrg.crm.dynamics.com).
Einstellungen (Erforderlich) Einstellungen des Laufzeitpakets für die Ausführung des Installationsframeworks Das Format der Zeichenfolge muss key=value|key=value sein.
Zielversion Zu installierende Version. Wenn Sie keine Version angeben, wird die veröffentlichte Version ausgewählt.
poll-status Abfrage zur Überprüfung des Status Ihrer Anfrage

Senden

Führen Sie alle veröffentlichten Katalogelemente aus der aktuellen Dataverse-Umgebung (Organisation) auf.

Parameter Beschreibung
Pfad (Erforderlich) Pfad zum Dokument zur Katalogübermittlung
package-zip Pfad zur Paket-ZIP-Datei.
solution-zip Pfad zur ZIP-Datei der Lösung.
poll-status Abfrage zum Überprüfen des Status Ihrer Anforderung

status

Rufen Sie den Status der Kataloginstallation oder Sendeanforderung ab.

Parameter Beschreibung
tracking-id (Erforderlich) Nachverfolgungs-ID anfordern
Type (Erforderlich) Anfragetyp. Gültige Werte sind Install und Submit.

Erstellen und Bearbeiten von GitHub-Workflows

Um mehr über das Erstellen von GitHub-Workflows mithilfe von GitHub Actions zu erfahren, absolvieren Sie die GitHub Actions für Microsoft Power Platform Labs.

Weitere Informationen finden Sie unter About GitHub Actions.

Siehe auch

GitHub Actions für Microsoft Power Platform