Tilgjengelige GitHub Actions for Microsoft Power Platform-utvikling

Avsnittene nedenfor beskriver GitHub Actions for Microsoft Power Platform. Seksjonene viser også eksempler på GitHub-arbeidsflyter. Hvis du vil ha mer informasjon om GitHub Actions og hvordan du laster dem ned, se GitHub Actions for Microsoft Power Platform.

Konfigurer påloggingsinformasjon for bruk med GitHub Actions med Microsoft Power Platform

Mange av handlingene krever at du kobler til et Microsoft Dataverse-miljø. Legg til tjenesteprinsipal eller brukerlegitimasjon som hemmeligheter i GitHub-repositoriet, og bruk dem deretter i arbeidsflytene.

  • Hvis du vil ha mer informasjon om hvordan du setter opp secrets i GitHub, kan du se Encrypted secrets.

  • Hvis du vil ha mer informasjon om hvordan du konfigurerer godkjenning med tjenesteprinsipal for Microsoft Power Platform, kan du se DevOps Build tools.

Når du har konfigurert påloggingsinformasjonen, kan du kalle tjenesteprinsippet fra handlingsskriptene.

Definér følgende parametere i GitHub Action-skriptet ditt som miljøvariabler:

  • Applikasjons-ID, for eksempel: WF_APPLICATION_ID:<your application id>
  • tenant-ID, for eksempel: WF_TENANT_ID:<your tenant id>

Legg til klienthemmeligheten som en GitHub hemmelighet. Referer til den fra arbeidsflyten ved hjelp av en parameter som: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Hjelpeoppgaver

Følgende hjelpeoppgave er tilgjengelig.

actions-install

Når en GitHub Actions-arbeidsflyt tvinger en installasjon av Power Platform CLI i konteksten til en runner, og det oppstår en tidsavbruddsfeil, bruker du versjon 1 (@v1) med en ekstra action (actions-install) som vist i eksemplet nedenfor.

Viktig

  • Når du bruker versjon 1 (@v1), kan dette føre til oppdatering av eksisterende GitHub Actions, noe som i sin tur kan gjøre at gjeldende arbeidsflyter oppdateres.
  • Legg til oppgaven Install Power Platform Tools som den første oppgaven i arbeidsflyten før andre GitHub Actions for 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 finner flere eksempler på GitHub Actions på Power Platform Actions.

whoAmI

Kontrollerer tjenestetilkoblingen ved å koble til tjenesten og sende en WhoAmI [SDK/Web API]-forespørsel. Denne oppgaven kan være nyttig å ta med tidlig i GitHub arbeidsflyten for å bekrefte tilkoblingen før behandlingen begynner.

Parameter Beskrivelse
environment-url URL-adressen for miljøet du kobler til.
user-name Brukernavnet for kontoen du bruker for å koble til med.
password-secret Passordet for user-name. Angi GitHub-passord i Innstillinger under Secrets. Du kan ikke hente en hemmelig nøkkel etter at du har definert og lagret den.
app-id Program-ID-en som det skal autentiseres med. Denne parameteren er obligatorisk ved autentisering med Service Principal-legitimasjon.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er påkrevd ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.

Løsningsoppgaver

Disse oppgaver utfører handlinger på løsninger og inkluderer følgende:

import-solution

Importerer en løsning til et målmiljø.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for målmiljøet du vil importere løsningen til (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning av brukernavn/passord, er dette brukernavnet for kontoen du bruker til å koble til.
password-secret (Obligatorisk) Hvis du bruker godkjenning av brukernavn/passord, er dette passordet for kontoen du bruker til å koble til.
solution-file (Obligatorisk) Filbanen til og navnet på løsningsfilen du vil importere.
app-id Applikasjons-ID-en som skal brukes til å autentisere med. Denne parameteren er påkrevd ved autentisering med Service Principal-legitimasjon.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med Service Principal-legitimasjon.
tenant-id Leierens ID under autentisasjon med app-id og client-secret.

export-solution

Eksporterer en løsning fra et kildemiljø.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil eksportere løsningen fra (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning av brukernavn/passord, er dette brukernavnet for kontoen du bruker til å koble til.
password-secret (Obligatorisk) Hvis du bruker godkjenning av brukernavn/passord, passordet for user-name. Definer GitHub-passord i Innstillinger under Secrets. Du kan ikke hente en hemmelig verdi etter at du har definert og lagret den.
app-id Program-ID-en som det skal autentiseres med. Denne parameteren er påkrevd ved godkjenning med påloggingsinformasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med Service Principal-legitimasjon.
tenant-id Leier-ID ved autentisering med app-id og client-secret.
solution-name (Obligatorisk) Navnet på løsningen som skal eksporteres. Bruk alltid løsningens navn, ikke visningsnavnet.
solution-output-file (Obligatorisk) Banenavnet og navnet på solution.zip-filen som kildemiljøet skal eksporteres til.
håndtert (Obligatorisk) Sett til true for å eksportere som en administrert løsning. Standarden (false) er å eksportere som en uadministrert løsning.

unpack-solution

Tar en komprimert løsningsfil og dekomponerer den til flere XML-filer. Du kan lettere lese og behandle disse filene i et versjonskontrollsystem.

parameter Beskrivelse
solution-file (Obligatorisk) Stien og filnavnet til løsningsfilen (zip-fil) som skal pakkes ut.
solution-folder (Obligatorisk) Stien og målmappen der du vil pakke ut løsningen.
solution-type (Obligatorisk) Typen løsning du vil åpne. Alternativene inkluderer Uadministrert (anbefales), Administrert og Begge.

pack-solution

Pakker en løsning representert i kildekontroll i en solution.zip fil som du kan importere til et annet miljø.

Parameter Beskrivelse
solution-file (Obligatorisk) Banen og filnavnet til solution.zip filen som løsningen skal pakkes inn i (for eksempel out/CI/ALMLab.zip).
solution-folder (Obligatorisk) Filbanen og kildemappen for løsningen som skal pakkes.
solution-type (Valgfritt) Løsningstypen som skal pakkes. Alternativene er Uadministrert (anbefalt), Administrert og Begge.

publiser løsning

Publiserer løsningstilpassingene.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil publisere løsningen til (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning av brukernavn/passord, brukernavnet for kontoen du bruker til å koble til.
password-secret (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, passordet for kontoen du bruker til å koble til med.
solution-file (Obligatorisk) Filbanen og navnet på løsningsfilen du vil importere.
app-id Program-ID-en det skal autentiseres med. Denne parameteren kreves ved autentisering med legitimasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.

clone-solution

Kloner løsningen for et bestemt miljø.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil klone løsningen fra (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, brukernavnet til kontoen du bruker til å koble til med.
password-secret (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, passordet for kontoen du bruker til å koble til med.
solution-file (Obligatorisk) Banen til og navnet på løsningsfilen du vil importere.
app-id Program-ID-en det skal autentiseres med. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.
solution-name (Obligatorisk) Stien og navnet på solution.zip-filen som kreves for å klone (for eksempel ut/CI/ALMLab.zip).
solution-version Versjonen til løsningen som skal klones.
target-folder Målmappen som den utpakkede løsningen skal plasseres i. (for eksempel, Git repository\ttarget-solution-folder).
arbeidskatalog Midlertidig mappe for artefakter fra pågående arbeid som er nødvendige for å klone løsningen.
standard: root of the repository

check-solution

Kontrollerer løsningsfilen for å finne inkonsekvenser.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil klone løsningen fra (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, brukernavnet til kontoen du bruker til å koble til med.
password-secret (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, passordet for kontoen du bruker til å koble til med.
app-id Program-ID-en det skal autentiseres med. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.
bane (Obligatorisk) Banen til og navnet på løsningsfilen du vil kontrollere.
geografisk område Hvilken geografisk plassering for Microsoft Power Platform Checker-tjenesten som skal brukes. Standardverdien er 'united states'.
rule-level-override Sti til en fil som inneholder en tabell i JSON-format med regler og nivåene deres. Godkjente verdier er: Kritisk, Høy, Lav og Informativ. Eksempel: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Navnet på artefaktmappen som Microsoft Power Platform-kontrollloggene skal lastes opp til. Standardverdien er "CheckSolutionLogs".

upgrade-solution

Oppgraderer løsningen.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil klone løsningen fra (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, brukernavnet til kontoen du bruker til å koble til med.
password-secret (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, passordet for kontoen du bruker til å koble til med.
solution-file (Obligatorisk) Banen til og navnet på løsningsfilen du vil importere.
app-id Program-ID-en det skal autentiseres med. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.
solution-name (Obligatorisk) Navn på løsningen som skal oppgraderes.
asynkron Oppgraderer løsningen asynkront.
max-async-wait-time Maksimal asynkron ventetid i minutter. Standardverdien er 60 minutter.

Pakkeoppgaver

Disse oppgavene utfører handlinger mot pakker.

deploy-package

Distribuerer/installerer en pakke-DLL eller en ZIP-fil med en pakke.

Merknad

Denne funksjonen støttes bare i Windows.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for miljøet du vil klone løsningen fra (for eksempel https://YourOrg.crm.dynamics.com).
user-name (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, brukernavnet til kontoen du bruker til å koble til med.
password-secret (Obligatorisk) Hvis du bruker godkjenning med brukernavn/passord, passordet for kontoen du bruker til å koble til med.
app-id Program-ID-en det skal autentiseres med. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med legitimasjon for Service Principal.
tenant-id Leier-ID ved autentisering med app-id og client-secret.
pakke (Obligatorisk) Banen til pakke-DLL-filen eller ZIP-filen med en pakke.

Portaloppgaver

Disse oppgavene utfører følgende handlinger mot Power Pages.

upload-paportal

Laster opp data til Power Pages.

Parameter Beskrivelse
environment-url (Obligatorisk) URL-adressen for målmiljøet du vil importere løsningen til (for eksempel https://YourOrg.crm.dynamics.com).
app-id Program-ID-en som det skal autentiseres med. Denne parameteren er obligatorisk ved godkjenning med Service Principal-legitimasjon.
client-secret Klienthemmeligheten som brukes til å autentisere GitHub-pipelinen. Denne parameteren er obligatorisk ved autentisering med Service Principal-legitimasjon.
tenant-id Leierens ID under autentisasjon med app-id og client-secret.
upload-path Stien der nettstedsinnholdet lagres (alias: -p).
deployment-profile Last opp portaldata med miljødetaljer som er definert via profilvariabler i filen deployment-profiles/[profilnavn].deployment.yaml.
modellversjon Angir om nettstedsdataene som skal lastes opp, bruker standard (1) eller forbedret datamodell (2). Standardverdien er 1.

Finn ut mer om Microsoft Power Platform CLI-støtte for Power Pages.

Katalogoppgaver (forhåndsvisning)

Disse oppgavene utfører handlinger mot katalogen i Power Platform.

Merknad

Katalogoppgaver for Power Platform er for øyeblikket i forhåndsversjon.

installere

Installer et katalogelement i målmiljøet.

Parameter Beskrivelse
catalog-item-id (Obligatorisk) Katalogelement som skal installeres i målmiljøet.
target-url (Obligatorisk) URL-adressen til målmiljøet for installasjon av katalogelementet (for eksempel https://YourOrg.crm.dynamics.com).
innstillinger (Obligatorisk) Innstillinger for kjøretidspakken som kreves for at installasjonsrammeverket skal kunne kjøres. Formatet for strengen må være key=value|key=value.
target-version Målversjon som skal installeres. Hvis du ikke angir en versjon, velges den publiserte versjonen.
poll-status Spørr etter statusen på forespørselen din.

Send inn

Vis alle publiserte katalogelementer fra gjeldende Dataverse-miljø (organisasjon).

Parameter Beskrivelse
bane (Obligatorisk) Sti til dokument for kataloginnsending.
package-zip Sti til pakkens ZIP-fil.
solution-zip Sti til ZIP-fil for løsning.
poll-status Kontroller statusen til forespørselen din.

status

Få statusen for kataloginstallasjonen eller forespørselen som er sendt inn.

Parameter Beskrivelse
tracking-id (Obligatorisk) Forespørselssporings-ID.
type (Obligatorisk) Forespørselstype. Gyldige verdier er Install og Submit.

Oppretting av GitHub-arbeidsflyter

Hvis du vil lære mer om hvordan du skriver GitHub arbeidsflyter ved hjelp av GitHub Actions, kan du fullføre GitHub Actions for Microsoft Power Platform laboratorier.

Hvis du vil ha mer informasjon, kan du se Om GitHub Actions.

Se også

GitHub Actions for Microsoft Power Platform