Beschikbare GitHub Actions voor Microsoft Power Platform-ontwikkeling

In de volgende secties worden GitHub Actions voor Microsoft Power Platform beschreven. In de secties worden ook voorbeelden van GitHub-workflows weergegeven. Zie GitHub Actions voor Microsoft Power Platform voor meer informatie over GitHub Actions en hoe u deze kunt downloaden.

Aanmeldingsgegevens configureren voor gebruik met GitHub-acties met Microsoft Power Platform

Voor veel van de acties moet u verbinding maken met een Microsoft Dataverse-omgeving. Voeg service-principal- of gebruikersreferenties toe als geheimen in uw GitHub repository en gebruik deze vervolgens in uw workflows.

  • Zie Encrypted secrets voor meer informatie over het instellen van geheimen in GitHub.

  • Zie DevOps Build tools voor meer informatie over het instellen van service-principalverificatie voor Microsoft Power Platform.

Nadat u de aanmeldingsgegevens hebt geconfigureerd, kunt u de service-principal aanroepen vanuit uw Action-scripts.

Definieer de volgende parameters in uw GitHub Actiescript als omgevingsvariabelen:

  • Applicatie-id, zoals: WF_APPLICATION_ID:<your application id>
  • Tenant-id, zoals: WF_TENANT_ID:<your tenant id>

Voeg het clientgeheim toe als een GitHub geheim. Verwijs ernaar vanuit de werkstroom met behulp van een parameter zoals: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Hulptaken

De volgende helpertaak is beschikbaar.

actions-install

Wanneer een GitHub Actions werkstroom een installatie van Power Platform CLI dwingt in de context van een runner en er een time-outfout optreedt, gebruikt u versie 1 (@v1) met een extra actie (actions-install) zoals wordt weergegeven in het volgende voorbeeld.

Belangrijk

  • Het gebruik van versie 1 (@v1) kan leiden tot updates van bestaande GitHub Actions die ertoe kunnen leiden dat de huidige werkstromen worden bijgewerkt.
  • Voeg de taak Hulpprogramma's voor Power Platform installeren toe als de eerste taak in uw werkstroom voordat andere GitHub Actions voor 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'

Meer voorbeelden van GitHub Actions vindt u bij Power Platform Actions.

whoAmI

Verifieert de serviceverbinding door verbinding te maken met de service en een WhoAmI [SDK/Web-API]-aanvraag te verzenden. Deze taak kan handig zijn om vroeg in uw GitHub werkstroom op te nemen om de connectiviteit te controleren voordat de verwerking begint.

Parameter Beschrijving
environment-url De URL voor de omgeving waarmee u verbinding maakt.
user-name De gebruikersnaam van het account dat u gebruikt om verbinding te maken.
password-secret Het wachtwoord voor user-name. Definieer GitHub wachtwoorden in Instellingen onder Secrets. U kunt een geheim niet ophalen nadat u het hebt gedefinieerd en opgeslagen.
app-id De toepassings-id waarmee geverifieerd wordt. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.

Oplossingstaken

Deze taken voeren acties uit op oplossingen en omvatten het volgende.

import-solution

Importeert een oplossing in een doelomgeving.

Parameter Beschrijving
environment-url (Vereist) De URL voor de doelomgeving waarin u de oplossing wilt importeren (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, is dit de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, is dit het wachtwoord voor het account waarmee u verbinding maakt.
solution-file (Vereist) Het pad en de naam van het oplossingsbestand dat u wilt importeren.
app-id De toepassings-id om mee te verifiëren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.

export-solution

Exporteert een oplossing vanuit een bronomgeving.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waaruit u de oplossing wilt exporteren (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, is dit de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, voert u het wachtwoord voor user-name in. Definieer GitHub wachtwoorden in Instellingen onder Secrets. U kunt een geheim niet ophalen nadat u het hebt gedefinieerd en opgeslagen.
app-id De toepassings-id om mee te verifiëren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.
solution-name (Vereist) De naam van de te exporteren oplossing. Gebruik altijd de naam van de oplossing, niet de weergavenaam.
solution-output-file (Vereist) Het pad en de naam van het bestand solution.zip waarnaar de bronomgeving moet worden geëxporteerd.
beheerd (Vereist) Stel in op true om te exporteren als een beheerde oplossing; de standaard (false) is om te exporteren als een onbeheerde oplossing.

unpack-solution

Neemt een gecomprimeerd oplossingsbestand en ontleedt het in meerdere XML-bestanden. U kunt deze bestanden eenvoudiger lezen en beheren in een broncodebeheersysteem.

Parameter Beschrijving
solution-file (Vereist) Het pad en de bestandsnaam van het bestand solution.zip dat moet worden uitgepakt.
solution-folder (Vereist) Het pad en de doelmap waarin u de oplossing wilt uitpakken.
solution-type (Vereist) Het type oplossing dat u wilt extraheren. Opties zijn onder meer: Onbeheerd (aanbevolen), Beheerd en Beide.

pack-solution

Hiermee wordt een oplossing verpakt die in broncodebeheer wordt beheerd in een solution.zip-bestand dat u in een andere omgeving kunt importeren.

Parameter Beschrijving
solution-file (Vereist) Het pad en de bestandsnaam van het bestand solution.zip om de oplossing hierin te verpakken (bijvoorbeeld out/CI/ALMLab.zip).
solution-folder (Vereist) Het pad en de bronmap van de in te pakken oplossing.
solution-type (Optioneel) Het type oplossing die moet worden verpakt. Opties zijn onder meer: Onbeheerd (aanbevolen), Beheerd en Beide.

publish-solution

Hiermee publiceert u de oplossingsaanpassingen.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waarin u de oplossing wilt publiceren (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) De gebruikersnaam van het account waarmee u verbinding maakt als u gebruikersnaam-/wachtwoordverificatie gebruikt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, voert u het wachtwoord in voor het account waarmee u verbinding maakt.
solution-file (Vereist) Het pad en de naam van het oplossingsbestand dat u wilt importeren.
app-id De toepassings-id om mee te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-aanmeldingsgegevens.
tenant-id De tenant-id voor verificatie met app-id en client-secret.

clone-solution

Hiermee kloont u de oplossing voor een bepaalde omgeving.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waaruit u de oplossing wilt klonen (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, voer de gebruikersnaam in van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, geef het wachtwoord op voor het account waarmee u verbinding maakt.
solution-file (Vereist) Het pad en de naam van het solutionbestand dat u wilt importeren.
app-id De toepassings-id om mee te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te verifiëren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
tenant-id De tenant-id voor authenticatie met app-id en client-secret.
solution-name (Vereist) Het pad en de naam van het solution.zip-bestand dat nodig is om te klonen (bijvoorbeeld out/CI/ALMLab.zip).
solution-version Versie van de te klonen oplossing.
target-folder Doelmap om de uitgepakte oplossing in te plaatsen. (bijvoorbeeld Git-repository\target-solution-folder).
Working-directory Tijdelijke map voor tijdelijke werkbestanden die nodig zijn voor het klonen van de oplossing.
standaard: root of the repository

check-solution

Hiermee controleert u het oplossingsbestand om inconsistenties te detecteren.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waaruit u de oplossing wilt klonen (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, voert u de gebruikersnaam in van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, voert u het wachtwoord in voor het account waarmee u verbinding maakt.
app-id De toepassings-id voor verificatie. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.
path (Vereist) Het pad en de naam van het solutionbestand dat u wilt controleren.
geo Welke geolocatie van de Microsoft Power Platform Checker-service moet worden gebruikt. De standaardwaarde is 'united states'.
rule-level-override Pad naar bestand a met een JSON-array met regels en hun niveaus. Geaccepteerde waarden zijn: Kritiek, Hoog, Laag en Informatief. Voorbeeld: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name De naam van de artefactmap waarvoor Microsoft Power Platform-controlelogboeken worden geüpload. De standaardwaarde is 'CheckSolutionLogs'.

upgrade-solution

Upgradet de oplossing.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waaruit u de oplossing wilt klonen (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, is dit de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, is dit het wachtwoord voor het account waarmee u verbinding maakt.
solution-file (Vereist) Het pad en de naam van het solutionbestand dat u wilt importeren.
app-id De toepassings-id om mee te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
tenant-id De tenant-id voor authenticatie met app-id en client-secret.
solution-name (Vereist) Naam van de te upgraden oplossing.
async Hiermee wordt de oplossing asynchroon bijgewerkt.
max-async-wait-time Maximale asynchrone wachttijd in minuten. De standaardwaarde is 60 minuten.

Taken voor pakket

Met deze taken worden acties uitgevoerd op pakketten.

deploy-package

Implementeert een pakket-DLL of een ZIP-bestand met een pakket.

Opmerking

Deze actie wordt alleen ondersteund op Windows.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waaruit u de oplossing wilt klonen (bijvoorbeeld https://YourOrg.crm.dynamics.com).
user-name (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, geef de gebruikersnaam op van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, gebruik dan het wachtwoord voor het account waarmee u verbinding maakt.
app-id De toepassings-id om mee te authenticeren. Deze parameter is verplicht bij het authenticeren met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.
pakket (Vereist) Het pad naar het DLL- of ZIP-bestand dat een pakket bevat.

Portal-taken

Deze taken voeren de volgende acties uit op Power Pages.

upload-paportal

Gegevens uploaden naar Power Pages.

Parameter Beschrijving
environment-url (Vereist) De URL voor de omgeving waarin u de oplossing wilt importeren (bijvoorbeeld https://YourOrg.crm.dynamics.com).
app-id De toepassings-id om mee te authenticeren. Deze parameter is verplicht bij authenticatie met Service Principal-referenties.
client-secret Het clientgeheim dat wordt gebruikt om de GitHub-pijplijn te authenticeren. Deze parameter is verplicht bij verificatie met Service Principal-referenties.
tenant-id De tenant-id voor verificatie met app-id en client-secret.
upload-path Pad waar de inhoud van de website is opgeslagen (alias: -p).
implementatieprofiel Upload portalgegevens met omgevingsdetails die zijn gedefinieerd via profile variables in het bestand deployment-profiles/[profile-name].deployment.yaml.
model-version Geeft aan of de sitegegevens die moeten worden geüpload gebruikmaken van het standaardgegevensmodel (1) of het verbeterde gegevensmodel (2). De standaardwaarde is 1.

Meer informatie over Microsoft Power Platform CLI-ondersteuning voor Power Pages.

Catalogustaken (previewversie)

Met deze taken worden acties uitgevoerd op de catalogus in Power Platform.

Opmerking

Momenteel zijn catalogustaken voor Power Platform in preview.

Installeren

Installeer een Catalog-item in de doelomgeving.

Parameter Beschrijving
catalog-item-id (Vereist) Catalogusitem dat moet worden geïnstalleerd in de doelomgeving.
target-url (Vereist) De URL van de doelomgeving voor de installatie van het catalogusitem (bijvoorbeeld https://YourOrg.crm.dynamics.com).
instellingen (Vereist) Runtime-pakketinstellingen zodat het installatieframework kan worden uitgevoerd. De notatie van de tekenreeks moet zijn als key=value|key=value.
target-version Te installeren doelversie. Als u geen versie opgeeft, wordt de gepubliceerde versie geselecteerd.
poll-status De status van uw aanvraag controleren.

Verzenden

Maak een lijst van alle gepubliceerde catalogusitems vanuit de huidige Dataverse-omgeving (organisatie).

Parameter Beschrijving
pad (Vereist) Pad naar catalogusindieningsdocument.
package-zip Pad naar het zipbestand van het pakket.
solution-zip Pad naar zipbestand voor oplossing.
poll-status Status van uw aanvraag controleren

status

Haal de status van de catalogusinstallatie op of dien het verzoek in.

Parameter Beschrijving
tracking-id (Vereist) Tracerings-id aanvraag.
type (Vereist) Aanvraagtype. Geldige waarden zijn Install en Submit.

GitHub-workflow schrijven

Voor meer informatie over het opstellen van GitHub-werkstromen met behulp van GitHub Actions voltooit u de GitHub Actions voor Microsoft Power Platform labs.

Zie Over GitHub Actions voor meer informatie.

Zie ook

GitHub-acties voor Microsoft Power Platform