Delen via


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.
model-version Geeft aan of de te uploaden sitegegevens het standaard (1) of verbeterde gegevensmodel (2) gebruiken. De standaardwaarde is ′1′.

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

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