Tillgängliga GitHub Actions för Microsoft Power Platform-utveckling

I följande avsnitt beskrivs GitHub Actions för Microsoft Power Platform. Avsnitten visar också exempel på GitHub arbetsflöden. Mer information om GitHub Actions och hur du laddar ned dem finns i GitHub Actions för Microsoft Power Platform.

Konfigurera autentiseringsuppgifter som ska användas med GitHub Actions med Microsoft Power Platform

Många av åtgärderna kräver att du ansluter till en Microsoft Dataverse-miljö. Lägg till servicehuvudnamn eller användarautentiseringsuppgifter som hemligheter i din GitHub-lagringsplats och använd dem sedan i dina arbetsflöden.

  • Mer information om hur du konfigurerar hemligheter i GitHub finns i Krypterade hemligheter.

  • Mer information om hur du konfigurerar autentisering med tjänstens huvudobjekt för Microsoft Power Platform finns i DevOps Build-verktyg.

När du har konfigurerat autentiseringsuppgifterna kan du anropa service principal inifrån åtgärdsskripten.

Definiera följande parametrar i ditt GitHub Action-skript som miljövariabler:

  • Applikations-ID, till exempel: WF_APPLICATION_ID:<your application id>
  • Klient-ID, till exempel: WF_TENANT_ID:<your tenant id>

Lägg till klienthemligheten som en GitHub hemlighet. Referera till den inifrån arbetsflödet med hjälp av en parameter som: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Assistentuppgifter

Följande hjälpuppgift är tillgänglig.

actions-install

När ett GitHub Actions-arbetsflöde tvingar fram en installation av Power Platform CLI i en runner-miljö och ett timeoutfel inträffar, ska version 1 (@v1) användas med ytterligare en åtgärd (actions-install) som visas i följande exempel.

Viktigt

  • Att använda version 1 (@v1) kan leda till att befintliga GitHub Actions uppdateras, vilket kan leda till att befintliga arbetsflöden uppdateras.
  • Lägg till uppgiften Install Power Platform Tools som den första uppgiften i ditt arbetsflöde före alla andra GitHub Actions för 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'

Du hittar fler exempel på GitHub Actions på Power Platform Actions.

whoAmI

Verifierar anslutningen till tjänsten genom att ansluta till tjänsten och skicka en begäran via WhoAmI [SDK/Web API]. Den här uppgiften kan vara användbar att lägga till tidigt i ditt GitHub-arbetsflöde för att kontrollera anslutningen innan bearbetningen påbörjas.

Parameter Beskrivning
miljö-URL URL-adressen för den miljö som du ansluter till.
användarnamn Användarnamnet för kontot som du använder för att ansluta.
hemligt lösenord Lösenord för user-name. Definiera GitHub lösenord i Inställningar under Secrets. Du kan inte hämta en hemlighet efter att du har definierat och sparat den.
app-id Applikations-ID som används för autentisering. Denna parameter krävs vid autentisering med Service Principal-referenser.
klienthemlig nyckel Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter är obligatorisk vid autentisering med autentiseringsuppgifter för Service Principal.
tenant-id klientorganisations-ID vid autentisering med app-id och client-secret

Lösningsaktiviteter

Dessa uppgifter utför åtgärder mot lösningar och omfattar följande.

importlösning

Importerar en lösning till en målmiljö.

Parameter Beskrivning
miljö-URL (Obligatoriskt) Webbadressen för målmiljön som du vill importera lösningen till (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder autentisering med användarnamn/lösenord, ange användarnamnet för kontot som du använder för att ansluta med.
lösenordshemlighet (Obligatorisk) Om du använder användarnamn/lösenordsautentisering är det lösenord som hör till kontot som du använder för att ansluta med.
lösningsfil (Obligatoriskt) Sökvägen och namnet på lösningsfilen du vill importera.
app-id Applikations-ID som används för att autentisera. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
client secret Det är klienthemligheten som används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
tenant-id Klientorganisation-ID vid autentisering medapp-id ochclient-secret.

exportlösning

Exporterar en lösning från en källmiljö.

Parameter Beskrivning
environment-url (Obligatoriskt) Webbadressen för miljön som du vill exportera lösningen från (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder autentisering med användarnamn/lösenord: användarnamnet för kontot som du använder för att ansluta med.
password-secret (Obligatorisk) Om du använder användarnamn/lösenordsautentisering, lösenordet för user-name. Definiera GitHub lösenord i Inställningar under Secrets. Du kan inte hämta en hemlighet när du har definierat och sparat den.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
klienthemlighet Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-referenser.
tenant-id Klientorganisations-ID vid autentisering med app-id och client-secret.
solution-name (Obligatoriskt) Namnet på lösningen som ska exporteras. Använd alltid lösningens namn, inte dess visningsnamn.
lösningsutdatafil (Obligatoriskt) Sökvägen och namnet på filen solution.zip för att exportera källmiljön till.
hanterad (Obligatorisk) Ställ in på true för att exportera som en hanterad lösning; standardvärdet (false) är att exportera som en ohanterad lösning.

Packa upp lösning

Tar en komprimerad lösningsfil och delar upp den i flera XML-filer. Du kan enklare läsa och hantera dessa filer i ett källkontrollsystem.

Parameter Beskrivning
lösningsfil (Krävs) Sökväg och filnamn för solution.zip-filen som ska packas upp.
lösningsmapp (Krävs) Sökvägen och målmappen där du vill packa upp lösningen.
lösningstyp (Obligatoriskt) Den typ av lösning du vill extrahera. Alternativen är Ohanterad (rekommenderas), Hanterad och både.

pack-solution

Packar en lösning som representeras i källkontrollen till en solution.zip fil som du kan importera till en annan miljö.

Parameter Beskrivning
lösningsfil (Krävs) Sökvägen och filnamnet för den solution.zip fil som lösningen ska packas i (till exempel out/CI/ALMLab.zip).
lösningsmapp (Obligatoriskt) Sökväg och källmapp för den lösning som ska packas.
lösningstyp (Valfritt) Typ av lösning som ska packas. Alternativen är Ohanterad (rekommenderas), Hanterad och Båda.

Publicera lösning

Publicerar lösningsanpassningar.

Parameter Beskrivning
miljö-URL (Obligatoriskt) Webbadressen för miljön som du vill publicera lösningen i (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder användarnamn/lösenordsautentisering anger du användarnamnet för kontot som du använder för att ansluta.
hemligt lösenord (Obligatorisk) Om du använder användarnamn/lösenordsautentisering anger du lösenordet för kontot som du använder för att ansluta med.
lösningsfil (Obligatoriskt) Sökvägen och namnet på lösningsfilen du vill importera.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
client-secret Klienthemlighet som används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
tenant-id Klientorganisations-ID vid autentisering med app-id och client-secret.

klonlösning

Klonar lösningen för en viss miljö.

Parameter Beskrivning
miljö-url (Obligatoriskt) Webbadressen för miljön som du vill klona lösningen från (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder autentisering med användarnamn/lösenord är detta användarnamnet för kontot som du använder för att ansluta med.
hemligt lösenordsvärde (Obligatorisk) Om du använder autentisering med användarnamn/lösenord anger du lösenordet för kontot som du använder för att ansluta.
lösningsfil (Obligatoriskt) Sökvägen och namnet på lösningsfilen du vill importera.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
client-secret Klienthemligheten är den som används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
klientorganisations-ID Klientorganisations-ID vid autentisering med app-id och client-secret.
solution-name (Obligatoriskt) Sökvägen och namnet på solution.zip-filen som behövs för att klona (till exempel ut/CI/ALMLab.zip).
lösningsversion Version av lösningen som ska klonas.
målmapp Målmapp där den extraherade lösningen ska placeras. (till exempel Git-arkiv\ttarget-solution-folder).
arbetskatalog Tillfällig mapp för artefakter för pågående arbete som behövs för att klona lösningen.
standardvärde: root of the repository

kontroll-lösning

Kontrollerar lösningsfilen för att upptäcka inkonsekvenser.

Parameter Beskrivning
miljö-URL (Obligatoriskt) Webbadressen för miljön som du vill klona lösningen från (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder autentisering med användarnamn/lösenord, användarnamnet för kontot som du använder för att ansluta med.
hemligt lösenord (Obligatorisk) Om du använder användarnamn/lösenordsautentisering är lösenordet för kontot du använder för att ansluta med.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
client-secret Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med autentiseringsuppgifter för Service Principal.
tenant-id Klientorganisation-ID vid autentisering med app-id och client-secret.
sökväg (Obligatoriskt) Sökvägen och namnet på lösningsfilen du vill kontrollera.
geo Vilken geografisk plats för Microsoft Power Platform Checker-tjänsten ska användas? Standardvärdet är "united states".
åsidosättning på regelnivå Sökväg till fil a som innehåller en JSON-uppsättning regler och deras nivåer. Godkända värden är: Kritisk, Hög, Låg och Informativ. Exempel: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Namnet på artefaktmappen för vilken Microsoft Power Platform kontrolloggar laddas upp. Standardvärdet är 'CheckSolutionLogs'.

uppgraderingslösning

Uppgraderar lösningen.

Parameter Beskrivning
miljö-URL (Obligatoriskt) Webbadressen för miljön som du vill klona lösningen från (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder autentisering med användarnamn/lösenord, användarnamnet för kontot som används för att ansluta.
lösenordshemlighet (Obligatorisk) Om du använder användarnamn/lösenordsautentisering anger du lösenordet för kontot som du använder för att ansluta med.
lösningsfil (Obligatoriskt) Sökvägen och namnet på lösningsfilen du vill importera.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med autentiseringsuppgifter för Service Principal.
klienthemlighet Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
tenant-id Klientorganisation-ID vid autentisering medapp-id ochclient-secret.
solution-name (Obligatoriskt) Namnet på lösningen som ska uppgraderas.
async Uppgraderar lösningen asynkront.
max-async-väntetid Högsta väntetid för asynkrona operationer i minuter. Standardvärdet är 60 minuter.

Paketaktiviteter

Dessa uppgifter utför åtgärder på paket.

driftsätt paket

Distribuerar en paket-DLL eller en ZIP-fil med ett paket.

Anmärkning

Den här åtgärden stöds endast i Windows.

Parameter Beskrivning
miljö-url (Obligatoriskt) Webbadressen för miljön som du vill klona lösningen från (till exempelhttps://YourOrg.crm.dynamics.com).
användarnamn (Obligatorisk) Om du använder användarnamn/lösenordsautentisering, användarnamnet för kontot som du använder för att ansluta.
lösenordsuppgift (Obligatorisk) Om du använder autentisering med användarnamn/lösenord anger du lösenordet för kontot som du använder för att ansluta.
app-id Applikations-ID att autentisera med. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
client secret Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-referenser.
klientorganisations-ID klientorganisations-ID vid autentisering med app-id och client-secret.
paket (Obligatoriskt) Sökvägen till paket-DLL-filen eller ZIP-filen med ett paket.

Portaluppgifter

Dessa uppgifter utför följande åtgärder mot Power Pages.

upload-paportal

Laddar upp data till Power Pages.

Parameter Beskrivning
environment-url (Obligatoriskt) URL-adressen för den miljö som du vill importera lösningen till (till exempel https://YourOrg.crm.dynamics.com).
app-id Applikations-ID som används för autentisering. Denna parameter krävs vid autentisering med Service Principal-referenser.
client-hemlighet Klienthemligheten används för att autentisera GitHub-pipelinen. Denna parameter krävs vid autentisering med Service Principal-autentiseringsuppgifter.
tenant-id Klientorganisation-ID vid autentisering med app-id och client-secret.
upload-path Sökväg där webbplatsinnehållet lagras (alias: -p).
deployment-profile Ladda upp portaldata med miljöinformation definierad via profilvariabler i filen deployment-profiles/[profile-name].deployment.yaml.
model-version Anger om de platsens data som ska laddas upp använder standarden (1) eller den förbättrade datamodellen (2). Standardvärdet är 1.

Mer information om Microsoft Power Platform CLI-stöd för Power Pages.

Katalogaktiviteter (förhandsversion)

Dessa uppgifter utför åtgärder mot katalogen i Power Platform.

Anmärkning

Katalogaktiviteter för Power Platform finns för närvarande i förhandsversion.

installera

Installera ett catalog-objekt i målmiljön.

Parameter Beskrivning
catalog-item-id (Obligatoriskt) Katalogobjekt som ska installeras i målmiljön.
target-url (Obligatoriskt) URL:en för målmiljön för installationen av katalogobjektet (till exempel https://YourOrg.crm.dynamics.com).
Inställningar (Obligatoriskt) inställningar för körningspaket för att installationsramverket ska kunna köras. Formatet på strängen måste vara key=value|key=value.
target-version Version som ska installeras. Om du inte anger någon version väljs den publicerade versionen.
poll-status Fråga av för att kontrollera statusen för din förfrågan.

skicka in

Lista alla publicerade katalogobjekt från den aktuella Dataverse miljön (organisation).

Parameter Beskrivning
sökväg (Obligatoriskt) Sökväg till kataloginskickningsdokument.
package-zip Sökväg till ZIP-fil för paket.
solution-zip Sökväg till ZIP-fil för lösning.
poll-status Avsökning för att kontrollera status för din begäran.

status

Hämta status för kataloginstallationen eller skicka in en begäran.

Parameter Beskrivning
tracking-id (Krävs) Begär spårnings-ID.
type (Obligatoriskt) Typ av förfrågan. Giltiga värden är Install och Submit.

GitHub-arbetsflödesskapande

Om du vill veta mer om att skapa GitHub-arbetsflöden med hjälp av GitHub Actions slutför du GitHub Actions för Microsoft Power Platform-labb.

Mer information finns i Om GitHub Actions.

Se även

GitHub Actions för Microsoft Power Platform