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