Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.