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.
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.
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".
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)