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