Condividi tramite


Azioni di GitHub Actions disponibili per lo sviluppo di Microsoft Power Platform

Le azioni GitHub per Microsoft Power Platform sono descritte nelle sezioni seguenti. Inoltre, sono anche illustrati i flussi di lavoro GitHub di esempio. Per ulteriori informazioni sulle azioni di GitHub Actions e su come scaricarle, vai a 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. Puoi aggiungere l'entità servizio o le credenziali utente come segreti nel repository GitHub e quindi usarle nei flussi di lavoro.

  • Per i dettagli su come impostare i segreti in GitHub, vedi Segreti crittografati

  • Per i dettagli su come configurare l'autenticazione dell'entità servizio per Microsoft Power Platform, vedi Build Tools DevOps

Dopo la configurazione, puoi chiamare l'entità servizio dagli script di azione.

Parametri da definire nello script di GitHub Actions come variabili ambientali:

  • ID applicazione come WF_APPLICATION_ID:<your application id>
  • ID tenant come WF_TENANT_ID:<your tenant id>

Il segreto client deve essere aggiunto e archiviato come segreto GitHub e vi sarà fatto riferimento nello nel flusso di lavoro utilizzando un parametro come: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Attività Helper

L'attività helper disponibile è descritta di seguito.

actions-install

Quando un flusso di lavoro di GitHub Actions forza un'installazione dell'interfaccia della riga di comando di Power Platform nel contesto di un runner e si verifica un errore di timeout, devi utilizzare la versione 1 (@v1) con un'azione aggiuntiva (actions-install) come descritto sotto.

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.
  • Devi aggiungere l'attività Installa Power Platform Tools come prima attività nel flusso di lavoro prima di qualsiasi altra azione di 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'

Puoi trovare ulteriori esempi di azioni di GitHub Actions in 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 da includere all'inizio nel flusso di lavoro di 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. Le password GitHub sono definite in Impostazioni sotto Segreti. Non puoi recuperare un segreto dopo che è stato 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 in un 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 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.

export-solution

Esporta una soluzione da un ambiente di origine.

Parametro Descrizione
environment-url (Obbligatorio) L'URL per l'ambiente di destinazione 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 nome utente. Le password GitHub sono definite in Impostazioni sotto Segreti. Non puoi recuperare un segreto dopo che è stato 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.
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 da esportare nell'ambiente di origine.
managed (Obbligatorio) Imposta su vero per esportare come soluzione gestita; il valore predefinito (falso) consiste nell'esportare come soluzione non gestita.

unpack-solution

Decomprime un file di soluzione in più file XML in modo da facilitare la gestione e la lettura di tali file mediante un sistema di controllo del codice sorgente.

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

pack-solution

Comprime una soluzione rappresentata nel controllo del codice sorgente in un file solution.zip che può essere importato in un altro ambiente.

Parametro Descrizione
solution-file (Obbligatorio) Il percorso e il nome 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 comprimere.
solution-type (Facoltativo) Il tipo di soluzione da inserire nel pacchetto. 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 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.

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 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.
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.
default: 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 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.
path (Obbligatorio) Il percorso e il nome del file della soluzione che si desidera verificare.
geo La posizione geografica del servizio Verifica Microsoft Power Platform da utilizzare. Il valore predefinito è "stati uniti".
rule-level-override Percorso a un file contenente un array JSON di regole e i relativi livelli. I valori accettati sono: Critico, Alto, Basso e Informativo. 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

Fornisce la possibilità di aggiornare la 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 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.
solution-name (Obbligatorio) Nome della soluzione da aggiornare.
async Aggiorna la soluzione in modo asincrono.
max-async-wait-time Tempo massimo di attesa asincrono in minuti. Il valore predefinito è 60 minuti.

Attività di pacchetto

Queste attività eseguono azioni sui pacchetti e includono quanto segue.

deploy-package

Fornisce la possibilità di distribuire una dll 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 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.
pacchetto (Obbligatorio) Il percorso al file dll o zip di pacchetto con un pacchetto.

Attività dei portali

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 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.
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 utilizzeranno il modello di dati standard (1) o avanzato (2). Il valore predefinito è "1".

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

Attività catalogo (anteprima)

Queste attività eseguono azioni rispetto al catalogo in Power Platform e includono quanto segue.

Nota

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

installazione

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) L'URL dell'ambiente di destinazione in cui desideri installare l'elemento del catalogo (ad esempio, "https://YourOrg.crm.dynamics.com").
settings (Obbligatorio) Impostazioni del pacchetto di runtime per il framework di installazione da eseguire. Il formato della stringa deve essere key=value|key=value.
target-version Versione di destinazione da installare. Se lasciato vuoto, viene selezionata la versione pubblicata.
poll-status Sondaggio per controllare lo stato della tua richiesta.

invia

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

Parametro Descrizione
path (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

Recupera lo stato della richiesta di installazione/invio di Catalog.

Parametro Descrizione
tracking-id (Obbligatorio) ID di tracciamento della richiesta.
Tipo (Obbligatorio) Tipo di richiesta (Valori: Installa, Invia)

Creazione del flusso di lavoro GitHub

Per ulteriori informazioni sulla composizione dei flussi di lavoro GitHub utilizzando le azioni di GitHub Actions, completa i lab su GitHub Actions per Microsoft Power Platform.

Altre informazioni: Informazioni su GitHub Actions

Vedi anche

Azioni GitHub per Microsoft Power Platform