Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
Per informazioni dettagliate su come configurare i segreti in GitHub, vedere Segreti crittografati.
Per informazioni dettagliate su come configurare l'autenticazione del service principal per Microsoft Power Platform, vedere Strumenti di compilazione DevOps.
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.