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