GitHub Actions disponibili per lo sviluppo di Microsoft Power Platform

Le sezioni seguenti descrivono GitHub Actions per Microsoft Power Platform. Le sezioni mostrano anche flussi di lavoro di esempio GitHub. Per altre informazioni su GitHub Actions e su come scaricarli, vedere GitHub Actions per Microsoft Power Platform.

Configurare le credenziali da utilizzare con GitHub Actions con Microsoft Power Platform

Molte azioni richiedono la connessione a un ambiente Microsoft Dataverse. Aggiungere le credenziali dell'entità servizio o dell'utente come segreti nel repository GitHub e quindi usarle nei flussi di lavoro.

Dopo aver configurato le credenziali, è possibile chiamare il service principal dagli script di Action.

Definire i parametri seguenti all'interno dello script azione GitHub come variabili di ambiente:

  • ID applicazione, ad esempio: WF_APPLICATION_ID:<your application id>
  • ID tenant, ad esempio: WF_TENANT_ID:<your tenant id>

Aggiungere il segreto client come segreto GitHub. Farvi riferimento dall'interno del flusso di lavoro usando un parametro simile al seguente: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Attività Helper

È disponibile l'attività helper seguente.

actions-install

Quando un flusso di lavoro GitHub Actions forza un'installazione dell'interfaccia della riga di comando di Power Platform nel contesto di uno strumento di esecuzione e si verifica un errore di timeout, usare la versione 1 (@v1) con un'azione aggiuntiva (actions-install) come illustrato nell'esempio seguente.

Importante

  • L'uso della versione 1 (@v1) potrebbe portare ad aggiornamenti delle azioni di GitHub Actions esistenti che possono comportare l'aggiornamento dei flussi di lavoro correnti.
  • Aggiungere l'attività Install Power Platform Tools come prima attività del flusso di lavoro prima di qualsiasi altra GitHub Actions per 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'

Per altri esempi di GitHub Actions, vedere Azioni di Power Platform.

whoAmI

Verifica la connessione del servizio connettendosi al servizio e inviando una richiesta WhoAmI [SDK/API Web]. Questa attività può essere utile per includere all'inizio del flusso di lavoro GitHub per verificare la connettività prima dell'inizio dell'elaborazione.

Parametro Descrizione
environment-url L'URL dell'ambiente a cui ti connetti.
user-name Il nome utente dell'account che stai utilizzando per connetterti.
password-secret La password per user-name. Definire le password GitHub in Impostazioni in Secret. Non è possibile recuperare un segreto dopo averlo definito e salvato.
app-id L'ID applicazione con cui eseguire l'autenticazione. Questo parametro è necessario per l'autenticazione con le credenziali dell'entità servizio.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali dell'entità servizio.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.

Attività relative alla soluzione

Queste attività eseguono azioni rispetto alle soluzioni e includono quanto segue.

import-solution

Importa una soluzione nell'ambiente di destinazione.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente di destinazione in cui desideri importare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
solution-file (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera importare.
app-id L'ID dell'applicazione con cui autenticarsi. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto client viene utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.

export-solution

Esporta una soluzione da un ambiente di origine.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente di origine da cui desideri esportare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password per user-name. Definire le password GitHub in Impostazioni in Secret. Non è possibile recuperare un segreto dopo averlo definito e salvato.
app-id L'ID dell'applicazione per l'autenticazione. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto del client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
solution-name (Obbligatorio) Il nome della soluzione da esportare. Usa sempre il Nome della soluzione e non il relativo Nome visualizzato.
solution-output-file (Necessario) Il percorso e il nome del file solution.zip per esportare l'ambiente di origine.
gestito (Obbligatorio) Imposta su vero per esportare come soluzione gestita; il valore predefinito (falso) consiste nell'esportare come soluzione non gestita.

unpack-solution

Acquisisce un file di soluzione compresso e lo scompone in più file XML. È possibile leggere e gestire più facilmente questi file in un sistema di controllo del codice sorgente.

Parametro Descrizione
solution-file (Obbligatorio) Il percorso e il nome di file del file solution.zip da decomprimere.
solution-folder (Obbligatorio) Percorso e cartella di destinazione in cui si vuole decomprimere il pacchetto.
solution-type (Obbligatorio) Il tipo di soluzione che desideri estrarre. Le opzioni includono Non gestita (consigliato), Gestita ed Entrambe.

pack-solution

Comprime una soluzione rappresentata nel controllo della versione del codice sorgente in un file solution.zip che è possibile importare in un altro ambiente.

Parametro Descrizione
solution-file (Obbligatorio) Percorso e nome file del file solution.zip in cui comprimere la soluzione , ad esempio out/CI/ALMLab.zip.
solution-folder (Obbligatorio) Il percorso e la cartella di origine della soluzione da creare come pacchetto.
solution-type (Facoltativo) Il tipo di soluzione da confezionare. Le opzioni includono Non gestita (consigliato), Gestita ed Entrambe.

publish-solution

Pubblica le personalizzazioni della soluzione.

Parametro Descrizione
environment-url (Obbligatorio) L'URL dell'ambiente in cui desideri pubblicare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
solution-file (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera importare.
app-id L'ID applicazione con cui eseguire l'autenticazione. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.

clone-solution

Clona la soluzione per un dato ambiente.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente da cui desideri clonare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
solution-file (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera importare.
app-id L'ID applicazione con cui eseguire l'autenticazione. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
solution-name (Obbligatorio) Il percorso e il nome del file solution.zip necessario per clonare (ad esempio, out/CI/ALMLab.zip).
solution-version Versione della soluzione da clonare.
target-folder Cartella di destinazione in cui inserire la soluzione estratta. (ad esempio, Git repository\target-solution-folder).
Directory di lavoro Cartella temporanea per gli artefatti in lavorazione necessari per la clonazione della soluzione.
predefinito: root of the repository

check-solution

Controlla il file della soluzione per rilevare incongruenze.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente da cui desideri clonare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
app-id L'ID dell'applicazione con cui autenticarsi. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
percorso (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera verificare.
geo Quale posizione geografica del servizio Microsoft Power Platform Checker da utilizzare. Il valore predefinito è 'Stati Uniti'.
rule-level-override Percorso al file a contenente un array JSON di regole e i relativi livelli. I valori accettati sono: Critico, Alto, Basso e Informativa. Esempio: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Il nome della cartella degli artefatti per cui i log di Verifica Microsoft Power Platform verranno caricati. Il valore predefinito è "CheckSolutionLogs".

upgrade-solution

Esegue l'upgrade della soluzione.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente da cui desideri clonare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
solution-file (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera importare.
app-id L'ID dell'applicazione con cui autenticarsi. Questo parametro è necessario per l'autenticazione con le credenziali dell'entità servizio.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
solution-name (Obbligatorio) Nome della soluzione da aggiornare.
async Aggiorna la soluzione in modo asincrono.
max-async-wait-time Tempo massimo di attesa asincrona in minuti. Il valore predefinito è 60 minuti.

Attività del package

Queste attività eseguono azioni sui pacchetti.

deploy-package

Distribuisce un file DLL del pacchetto o un file ZIP con un pacchetto.

Nota

Questa azione è supportata solo in Windows.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente da cui desideri clonare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
user-name (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, il nome utente dell'account che stai utilizzando per connetterti.
password-secret (Obbligatorio) Se utilizzi l'autenticazione con nome utente/password, la password dell'account che stai utilizzando per connetterti.
app-id L'ID applicazione con cui eseguire l'autenticazione. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
pacchetto (Obbligatorio) Percorso della DLL del pacchetto o del file ZIP con un pacchetto.

Attività del portale

Queste attività eseguono le seguenti azioni in relazione a Power Pages.

upload-paportal

Carica i dati in Power Pages.

Parametro Descrizione
environment-url (Obbligatorio) L'URL dell'ambiente in cui desideri importare la soluzione (ad esempio, https://YourOrg.crm.dynamics.com).
app-id L'ID dell'applicazione con cui autenticarsi. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
client-secret Il segreto client utilizzato per autenticare la pipeline GitHub. Questo parametro è necessario per l'autenticazione con le credenziali del Service Principal.
tenant-id L'ID tenant quando si esegue l'autenticazione con app-id e client-secret.
upload-path Percorso in cui verrà archiviato il contenuto del sito Web (alias: -p).
deployment-profile Carica i dati del portale con i dettagli dell'ambiente definiti tramite variabili di profilo nel file deployment-profiles/[profile-name].deployment.yaml.
model-version Indica se i dati del sito da caricare usano il modello di dati standard () o 1 (2). Il valore predefinito è 1.

Altre informazioni sul supporto di Microsoft Power Platform CLI per Power Pages.

Catalogo attività (anteprima)

Queste attività eseguono azioni sul catalogo in Power Platform.

Nota

Attualmente, le attività del catalogo per Power Platform sono in anteprima.

installa

Installa un elemento Catalog nell'ambiente di destinazione.

Parametro Descrizione
catalog-item-id (Obbligatorio) Elemento del catalogo da installare nell'ambiente di destinazione.
target-url (Obbligatorio) URL dell'ambiente di destinazione per l'installazione dell'elemento del catalogo , ad esempio https://YourOrg.crm.dynamics.com.
Impostazioni (Obbligatorio) Impostazioni del pacchetto runtime necessarie per l'esecuzione del framework di installazione. Il formato della stringa deve essere key=value|key=value.
target-version Versione target da installare. Se non si specifica una versione, viene selezionata la versione pubblicata.
poll-status Controlla periodicamente lo stato della tua richiesta.

invia

Elenca tutti gli elementi del catalogo pubblicati dall'ambiente corrente Dataverse (organizzazione).

Parametro Descrizione
percorso (Obbligatorio) Percorso del documento di invio del catalogo.
package-zip Percorso del file ZIP del pacchetto.
solution-zip Percorso del file ZIP della soluzione.
poll-status Esegui il polling per verificare lo stato della tua richiesta.

stato

Ottenere lo stato dell'installazione del catalogo o della richiesta di invio.

Parametro Descrizione
tracking-id (Obbligatorio) ID di tracciamento della richiesta.
Tipo (Obbligatorio) Tipo di richiesta. I valori validi sono Install e Submit.

Creazione di flussi di lavoro GitHub

Per altre informazioni su come creare workflow GitHub usando GitHub Actions, completa i lab GitHub Actions per Microsoft Power Platform.

Per altre informazioni, vedere Informazioni su GitHub Actions.

Vedi anche

GitHub Actions per Microsoft Power Platform