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

GitHub-Aktionen für Microsoft Power Platform werden in den folgenden Abschnitten beschrieben. Darüber hinaus werden auch GitHub-Beispielworkflows gezeigt. Weitere Informationen über GitHub Actions und wie Sie sie herunterladen können, finden Sie unter GitHub Actions für Microsoft Power Platform.

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

Viele der Aktionen erfordern den Anschluss an eine Microsoft Dataverse-Umgebung. Sie können Dienstprinzipal- oder Benutzeranmeldeinformationen als Geheimnisse in Ihrem GitHub-Repository hinzufügen und diese dann in Ihren Workflows verwenden.

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

  • Weitere Informationen zum Einrichten der Dienstprinzipalauthentifizierung für Microsoft Power Platform erhalten Sie in DevOps-Build-Tools.

Nach der Konfiguration können Sie den Dienstprinzipal aus Ihren Aktionsskripten aufrufen.

Parameter zum Definieren als Umgebungsvariablen in Ihrem GitHub-Aktionsskript:

  • Anwendungs-ID wie: WF_APPLICATION_ID:<your application id>
  • Mandanten-ID wie: WF_TENANT_ID:<your tenant id>

Das Client-Geheimnis muss als GitHub-Geheimnis hinzugefügt und gespeichert werden und wird innerhalb des Workflows mit einem Parameter wie dem folgenden referenziert: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Hilfreiche Aufgaben

Die verfügbare Hilfsprogrammaufgabe wird unten beschrieben.

Actions installieren

Wenn ein GitHub Actions-Workflow eine Installation einer Power Platform CLI im Kontext eines Runners erzwingt und ein Timeout-Fehler auftritt, müssen Sie Version 1 (@v1) mit einer zusätzlichen Aktion (actions-install) wie unten verwenden.

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.
  • Sie müssen die Aufgabe Power Platform Tools installieren als erste Aufgabe in Ihrem Workflow vor allen anderen GitHub Actions für Power Platform hinzufügen.
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 nützlich sein, um sie frühzeitig in Ihren GitHub-Workflow aufzunehmen und die Konnektivität zu überprüfen, bevor die Verarbeitung beginnt.

Parameter Beschreibung
Umgebung-url Die URL für die Umgebung, mit der Sie sich verbinden.
Benutzername Der Benutzername des Kontos, mit dem die Verbindung hergestellt wird.
password-secret Das Kennwort für Benutzername. GitHub-Kennwörter werden in Einstellungen unter Geheimnisse definiert. Sie können ein Geheimnis nicht abrufen, nachdem es definiert und gespeichert wurde.
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.

Lösungsaufgaben

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

import-solution

Import einer Lösung in eine Zielumgebung.

Parameter Beschreibung
Umgebung-url (Erforderlich) Die URL für die Zielumgebung, in die Sie die Lösung importieren möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, 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 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.

export-solution

Exportiert eine Lösung aus einer Quellumgebung.

Parameter Beschreibung
Umgebung-url (Erforderlich) Die URL für die Umgebung, aus der Sie exportieren möchten (z. B. https://YourOrg.crm.dynamics.com).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie die Authentifizierung über Benutzername/Passwort verwenden, das Kennwort für Benutzername. GitHub-Kennwörter werden in Einstellungen unter Geheimnisse definiert. Sie können ein Geheimnis nicht abrufen, nachdem es definiert und gespeichert wurde.
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.
Lösungs-Name (Erforderlich) Der Name der zu exportierenden Lösung. Verwenden Sie immer den Namen der Lösung, nicht den Anzeigenamen.
Lösungs-Ausgabe-Datei (Erforderlich) Der Pfad und der Dateiname der Datei solution.zip, 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

Nimmt eine komprimierte Lösungsdatei und zerlegt sie in mehrere XML-Dateien, so dass diese Dateien von einem Quellcode-Kontrollsystem leichter gelesen und verwaltet werden können.

Parameter Beschreibung
Lösungs-Datei (Erforderlich) Der Pfad und Dateiname der zu entpackenden Datei solution.zip an.
Lösungs-Ordner (Erforderlich) Der Pfad und Zielordner, in den 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 im Quellsteuerelement dargestellt wird, in eine solution.zip-Datei, die in eine andere Umgebung importiert werden kann.

Parameter Beschreibung
Lösungs-Datei (Erforderlich) Der Pfad und Dateiname der Datei solution.zip, in die die Projektmappe gepackt 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) Der Typ der zu packenden Lösung. Die Optionen umfassen Unverwaltet (empfohlen), Verwaltet und Beides.

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, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, 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 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.

clone-solution

Klont die Lösung für eine bestimmte 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).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, 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 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.
Lösungs-Name (Erforderlich) Der Pfad und Name der Datei solution.zip, die zum Klonen benötigt wird (z. B. out/CI/ALMLab.zip)
solution-version Die Version der zu klonenden Lösung
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 Arbeit, 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).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, mit dem Sie eine Verbindung herstellen wollen.
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.
path (Erforderlich) Der Pfad und der Name der Lösungsdatei, die Sie prüfen möchten
geo Zu verwendender geografischer Standort des Microsoft Power Platform-Überprüfungsdiensts Standardwert ist 'united states'
rule-level-override Pfad zur Datei, die ein JSON-Array von Regeln und deren Ebenen enthält Zulässige Werte sind: Kritisch, Hoch, Niedrig und Informativ 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

Bietet die Möglichkeit, die Lösung zu aktualisieren

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).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, 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 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.
Lösungs-Name (Erforderlich) Name der zu aktualisierenden Lösung
Asynchron Aktualisiert die Lösung asynchron
max-async-wait-time Maximale asynchrone Wartezeit in Minuten Standardwert ist 60 Minuten

Paketaufgaben

Diese Aufgaben führen Aktionen für Pakete aus und umfassen Folgendes.

deploy-package

Bietet die Möglichkeit, eine Paket-DLL oder eine ZIP-Datei mit einem Paket bereitzustellen

Notiz

Diese Aktion wird nur unter Windows unterstützt.

Parameter Beschreibung des Dataflows
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).
Benutzername (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, der Benutzername des Kontos, mit dem Sie eine Verbindung herstellen wollen.
password-secret (Erforderlich) Wenn Sie Benutzername/Passwort-Authentifizierung verwenden, das Kennwort für das Konto, mit dem Sie eine Verbindung herstellen wollen.
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.
package (Erforderlich) Der Pfad zu einer Paket-DLL oder ZIP-Datei mit einem Paket

Im Portal ausgeführte Aufgaben

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

upload-paportal

Daten-Uploads in Power Pages.

Parameter Beschreibung des Dataflows
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, in 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 Standard-Datenmodell (1) oder das erweiterte Datenmodell (2) verwenden. Standardwert ist „1“.

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

Katalogaufgaben (Vorschau)

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

Anmerkung

Derzeit sind Katalogaufgaben für Power Platform eine Vorschauversion.

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 von Katalogelementen (z. B. „https://YourOrg.crm.dynamics.com"“).
Einstellungen (Erforderlich) Laufzeitpaketeinstellungen für das auszuführende Installationsframework Das Format der Zeichenfolge muss key=value|key=value sein.
target-version Zu installierende Zielversion. Wenn leer gelassen, wird die veröffentlichte Version ausgewählt.
poll-status Abfrage zur Überprüfung des Status Ihrer Anforderung

submit

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

Status der Catalog-Installations-/Absendenanforderung abrufen

Parameter Beschreibung
tracking-id (Erforderlich) Nachverfolgungs-ID anfordern
Type (Erforderlich) Anforderungstyp (Werte: Installieren, Senden)

Erstellung von GitHub-Workflows

Um mehr über das Erstellen von GitHub-Workflows mithilfe von GitHub-Aktionen zu erfahren, schließen Sie die Übung GitHub-Aktionen für Microsoft Power Platform ab.

Mehr Informationen: Über GitHub Actions

Siehe auch

GitHub-Aktionen für Microsoft Power Platform