Beschikbare GitHub Actions voor Microsoft Power Platform-ontwikkeling

GitHub-acties voor Microsoft Power Platform worden in de volgende secties beschreven. Daarnaast worden ook voorbeelden van GitHub-workflows getoond. Voor meer informatie over GitHub-acties en hoe u deze kunt downloaden, gaat u naar GitHub-acties voor Microsoft Power Platform.

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

Voor veel van de acties moet u verbinding maken met een Microsoft Dataverse-omgeving. U kunt referenties voor service-principals of gebruikers als geheimen toevoegen aan uw GitHub-opslagplaats en deze vervolgens in uw werkstromen gebruiken.

  • Zie Versleutelde geheimen voor informatie over het instellen van geheimen in GitHub

  • Zie DevOps Build-tools voor informatie over het instellen van verificatie van de service-principal voor Microsoft Power Platform

Eenmaal geconfigureerd kunt u de service-principal aanroepen vanuit uw actiescripts.

Parameters om in uw GitHub-actiescript te te definiëren als omgevingsvariabelen:

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

Het clientgeheim wordt toegevoegd en opgeslagen als een GitHub-geheim en er wordt vanuit de werkstroom naar verwezen met een parameter zoals: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Help-taken

De beschikbare helpertaak wordt hieronder beschreven.

actions-install

Wanneer een GitHub Actions-werkstroom een installatie van Power Platform-CLI in de context van een runner en er een time-outfout optreedt, moet u versie 1 (@v1) gebruiken met een extra actie (actions-install), zoals hieronder.

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.
  • U moet de taak Power Platform Tools installeren als eerste taak in uw werkstroom uitvoeren voorafgaand aan 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'

U kunt aanvullende voorbeelden van GitHub Actions vinden in Power Platform-acties.

whoAmI

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

Parameter Beschrijving
environment-url De URL voor de omgeving waarmee u verbinding maakt.
user-name De gebruikersnaam van het account waarmee u verbinding maakt.
password-secret Het wachtwoord voor user-name. GitHub-wachtwoorden zijn gedefinieerd in Instellingen onder Geheimen. U kunt een geheim niet meer ophalen nadat het is gedefinieerd en opgeslagen.
app-id De toepassings-id voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie met app-id en client-secret.

Oplossingstaken

Deze taken voeren acties uit voor 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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, 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 voor verificatie. Deze parameter is verplicht bij verificatie 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 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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, het wachtwoord voor user-name. GitHub-wachtwoorden zijn gedefinieerd in Instellingen onder Geheimen. U kunt een geheim niet meer ophalen nadat het is gedefinieerd en opgeslagen.
app-id De toepassings-id voor verificatie. Deze parameter is verplicht bij verificatie 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 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 om uit de bronomgeving te exporteren.
managed (Vereist) Stel in op waar om te exporteren als een beheerde oplossing; de standaard (onwaar) is om te exporteren als een onbeheerde oplossing.

unpack-solution

Neemt een gecomprimeerd oplossingsbestand en pakt dit uit in meerdere XML-bestanden en andere bestanden, zodat deze bestanden eenvoudiger kunnen worden gelezen en beheerd door een bronbeheersysteem.

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

pack-solution

Hiermee wordt een oplossing verpakt die wordt weergegeven in bronbeheer in het bestand solution.zip, dat in een andere omgeving kan worden geïmporteerd.

Parameter Beschrijving
solution-file (Vereist) Het pad en de bestandsnaam van het solution.zip-bestand waarin de oplossing moet worden verpakt (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 voor het verpakken. 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) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, 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 voor verificatie. Deze parameter is verplicht bij verificatie 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 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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, 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 voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie 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 oplossing die moet worden gekloond.
target-folder Doelmap om de uitgepakte oplossing in te plaatsen. (bijvoorbeeld Git-repository\target-solution-folder).
Working-directory Tijdelijke map voor onderhanden artefacten die nodig zijn voor het klonen van de oplossing.
De standaardwaarde is 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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, het wachtwoord voor het account waarmee u verbinding maakt.
app-id De toepassings-id voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie met app-id en client-secret.
path (Vereist) Het pad en de naam van het oplossingsbestand dat u wilt controleren.
geo Welke geolocatie van de Microsoft Power Platform-controleservice moet worden gebruikt. De standaardwaarde is 'united states'.
rule-level-override Pad naar bestand 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

Biedt de mogelijkheid om de oplossing te upgraden.

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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, 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 voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie 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.

Pakkettaken

Met deze taken worden acties uitgevoerd op pakketten en deze omvatten het volgende.

deploy-package

Biedt de mogelijkheid om een pakket-DLL-bestand of een zipbestand met een pakket te implementeren.

Notitie

Deze actie wordt alleen ondersteund in 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, de gebruikersnaam van het account waarmee u verbinding maakt.
password-secret (Vereist) Als u gebruikersnaam-/wachtwoordverificatie gebruikt, het wachtwoord voor het account waarmee u verbinding maakt.
app-id De toepassings-id voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie met app-id en client-secret.
package (Vereist) Het pad naar het pakket-DLL-bestand of zipbestand met een pakket.

Portaltaken

Deze taken voeren de volgende acties uit op Power Pages.

upload-paportal

Uploadt gegevens 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 voor verificatie. Deze parameter is verplicht bij verificatie 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 verificatie met app-id en client-secret.
upload-pad Pad waarnaar de inhoud van de website wordt opgeslagen (alias: -p).
implementatieprofiel Upload portalgegevens met omgevingsdetails die zijn gedefinieerd via profielvariabelen in het bestand deployment-profiles/[profile-name].depoyment.yaml.

Catalogustaken (preview)

Deze taken voeren acties uit voor de catalogus in Power Platform en omvatten het volgende.

Notitie

Momenteel maken catalogustaken voor Power Platform deel uit van een preview-versie.

installeren

Installeer een Catalog-item in de doelomgeving.

Parameter Beschrijving
catalog-item-id (Vereist) Catalogusitem dat in de doelomgeving moet worden geïnstalleerd.
target-url (Vereist) De URL van de doelomgeving waarin de catalogusitems moeten worden geïnstalleerd (bijvoorbeeld "https://YourOrg.crm.dynamics.com").
instellingen (Vereist) Runtime-pakketinstellingen voor het uit te voeren installatieframework. De notatie van de tekenreeks moet key=value|key=value zijn.
target-version Te installeren doelversie. Indien leeg gelaten, wordt de gepubliceerde versie geselecteerd.
poll-status Peiling om de status van uw aanvraag te controleren.

submit

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

Parameter Beschrijving
path (Vereist) Pad naar catalogusindieningsdocument.
package-zip Pad naar zipbestand voor pakket.
solution-zip Pad naar zipbestand voor oplossing.
poll-status Peiling om status van uw aanvraag te controleren.

status

Haal de status van de aanvraag voor installeren/indienen van Catalog op.

Parameter Beschrijving
tracking-id (Vereist) Tracerings-id van aanvraag.
type (Vereist) Aanvraagtype (Waarden: Install, Submit)

GitHub-werkstroom ontwerpen

Voltooi de GitHub-acties voor Microsoft Power Platform-labs voor meer informatie over het samenstellen van GitHub-werkstromen met GitHub-acties.

Meer informatie: Info over GitHub Actions

Zie ook

GitHub-acties voor Microsoft Power Platform