GitHub Actions disponível para o desenvolvimento do Microsoft Power Platform
As ações do GitHub para Microsoft Power Platform são descritas nas seções a seguir. Além disso, fluxos de trabalho de exemplo do GitHub também são mostrados. Para obter mais informações sobre as Ações GitHub e como transferi-las, aceda a Ações GitHub para o Microsoft Power Platform.
Configurar credenciais a utilizar com Ações GitHub com o Microsoft Power Platform
Muitas das ações requerem que se ligue a um ambiente do Microsoft Dataverse. Pode adicionar credenciais de principal de serviço ou de utilizador como segredos no seu repositório o GitHub e, em seguida, utilizá-las no seus fluxos de trabalho.
Para detalhes sobre como configurar segredos no GitHub, consulte Segredos encriptados
Para mais detalhes sobre como configurar a autenticação de principal de serviço para o Microsoft Power Platform, consulte Ferramentas de Compilação DevOps
Uma vez configurado, pode chamar o Principal de Serviço dentro dos seus scripts de Ação.
Parâmetros para definir dentro do seu Script de Ação GitHub como Variáveis de Ambiente:
- ID da Aplicação, como:
WF_APPLICATION_ID:<your application id>
- ID do Inquilino, como:
WF_TENANT_ID:<your tenant id>
O Segredo do cliente tem de ser adicionar e armazenado como um Segredo do GitHub e será referenciado a partir do fluxo de trabalho usando um parâmetro como: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}
Tarefas auxiliares
A tarefa de ajudante disponível é descrita abaixo.
actions-install
Quando um fluxo de trabalho de GitHub Actions força uma instalação do Power Platform CLI no contexto de um executor e o erro de tempo excedido ocorre, tem de utilizar a versão 1 (@v1) com uma ação adicional (actions-install
), como abaixo.
Importante
- A utilização da versão 1 (@v1) poderá levar a atualizações a GitHub Actions existentes que podem resultar em que fluxos de trabalho atuais seja atualizados.
- Tem de adicionar a tarefa Instalar o Power Platform Tools como uma primeira tarefa no seu fluxo de trabalho antes de quaisquer outras GitHub Actions para o 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'
Pode encontrar amostras adicionais de GitHub Actions em Ações do Power Platform.
whoAmI
Verifica a ligação do serviço ao ligar ao serviço e enviar um pedido WhoAmI
[SDK/API Web]. Pode ser útil incluir esta tarefa no início do seu fluxo de trabalho do GitHub, para verificar a conectividade antes do processamento começar.
Parâmetro | Descrição |
---|---|
environment-url | O URL para o ambiente a que está a ligar. |
user-name | O nome de utilizador da conta que está a usar para se ligar. |
password-secret | A palavra-passe para user-name. As palavras-passe do GitHub são definidas em Definições em Segredos. Não pode obter um segredo depois de ter sido definido e guardado. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
Tarefas de solução
Estas tarefas executam ações contra soluções e incluem as seguintes.
import-solution
Importa uma solução para um ambiente de destino.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de destino para o qual pretende importar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
solution-file | (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
export-solution
Exporta uma solução de um ambiente de origem.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de onde pretende exportar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe para user-name. As palavras-passe do GitHub são definidas em Definições em Segredos. Não pode obter um segredo depois de ter sido definido e guardado. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
solution-name | (Obrigatório) O nome da solução a exportar. Utilize sempre o nome da solução, não o respetivo nome a apresentar. |
solution-output-file | (Obrigatório) O caminho e o nome do ficheiro solution.zip a exportar para o ambiente de origem. |
managed | (Obrigatório) Definido para true para exportar como uma solução gerida; a predefinição (false) é exportar como uma solução não gerida. |
unpack-solution
Decompõe um ficheiro de solução comprimido em vários ficheiros XML para estes ficheiros poderem ser facilmente lidos e geridos por um sistema de controlo de origem.
Parâmetro | Descrição |
---|---|
solution-file | (Obrigatório) O caminho e o nome do ficheiro solution.zip a descompactar. |
solution-folder | (Obrigatório) O caminho e a pasta de destino para as quais pretende descompactar a solução. |
solution-type | (Obrigatório) O tipo de solução que pretende descompactar. As opções incluem Não gerido (recomendado), Gerido e Ambos. |
pack-solution
Compacta uma solução representada no controlo de origem num ficheiro . zip de solução que pode ser importado para outro ambiente.
Parâmetro | Descrição |
---|---|
solution-file | (Obrigatório) O caminho e o nome do ficheiro do ficheiro da solução.zip compactar a solução (por exemplo, out/CI/ALMLab.zip). |
solution-folder | (Obrigatório) O caminho e a pasta de origem da solução a compactar. |
solution-type | (Opcional) O tipo de solução a compactar. As opções incluem Não gerido (recomendado), Gerido e Ambos. |
publish-solution
Publica as personalizações da solução.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente para o qual pretende publicar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
solution-file | (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
clone-solution
Clona a solução para um determinado ambiente.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
solution-file | (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
solution-name | (Obrigatório) O caminho e o nome do ficheiro solution.zip necessário para clonar (por exemplo, out/CI/ALMLab.zip). |
solution-version | Versão da solução a clonar. |
target-folder | Pasta de destino onde colocar a solução extraída. (por exemplo, repositório Git\target-solution-folder). |
Working-directory | Pasta temporária para artefactos de trabalho em curso necessários para clonar a solução. predefinição: root of the repository |
check-solution
Verifica o ficheiro da solução para detetar inconsistências.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
path | (Obrigatório) O caminho e o nome do ficheiro de solução que pretende verificar. |
geo | Que localização geográfica do serviço Verificador do Microsoft Power Platform utilizar. O valor predefinido é "Estados Unidos". |
rule-level-override | Caminho para arquivar uma matriz JSON de regras e respetivos níveis. Os valores aceites são: Crítico, Alto, Baixo e Informativo. Exemplo: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}] |
checker-logs-artifact-name | O nome da pasta de artefactos para a qual os registos do verificador do Microsoft Power Platform serão carregados. O valor predefinido é "CheckSolutionLogs". |
upgrade-solution
Fornece a capacidade de atualizar a solução.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
solution-file | (Obrigatório) O caminho e o nome do ficheiro de solução que pretende importar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
solution-name | (Obrigatório) Nome da solução a atualizar a versão. |
assíncrono | Atualiza a versão da solução assincronamente. |
max-async-wait-time | Tempo máximo de espera assíncrono em minutos. O valor predefinido é 60 minutos. |
Tarefas de pacote
Estas tarefas executam ações contra pacotes e incluem o seguinte.
deploy-package
Fornece a capacidade de implementar um dll de pacote ou um ficheiro zip com um pacote.
Nota
Esta ação só é suportada num Windows.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente de onde pretende clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
user-name | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, o nome de utilizador da conta que está a utilizar para se ligar. |
password-secret | (Obrigatório) Se estiver a utilizar a autenticação nome de utilizador/palavra-passe, a palavra-passe da conta que está a utilizar para se ligar. |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
pacote | (Obrigatório) O caminho para o dll de pacote ou ficheiro zip com um pacote. |
Tarefas do portal
Estas tarefas executam as seguintes ações contra o Power Pages.
upload-paportal
Carrega dados para o Power Pages.
Parâmetro | Descrição |
---|---|
environment-url | (Obrigatório) O URL para o ambiente para o qual pretende importar a solução (por exemplo, https://YourOrg.crm.dynamics.com ). |
app-id | O ID da aplicação com o qual autenticar. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
client-secret | O segredo do cliente costumava autenticar o pipeline do GitHub. Este parâmetro é obrigatório ao autenticar com credenciais do Principal de Serviço. |
tenant-id | O ID do inquilino ao autenticar com o app-id e o client-secret . |
upload-path | Caminho onde o conteúdo do site é armazenado (alias: -p). |
deployment-profile | Carregar dados do portal com detalhes do ambiente definidos através de variáveis de perfil no ficheiro deployment-profiles/[profile-name].deployment.yaml. |
model-version | Indica se os dados do site a carregar utilizarão o modelo de dados padrão (1 ) ou o modelo de dados avançado (2 ). O valor predefinido é "1". |
Saiba mais sobre o Suporte do Microsoft Power Platform CLI para Power Pages.
Tarefas do catálogo (pré-visualização)
Estas tarefas executam ações contra o catálogo no Power Platform e incluem as seguintes.
Nota
Atualmente, as tarefas do catálogo para o Power Platform são uma versão de pré-visualização.
instalar
Instalar um item do catalog no ambiente de destino.
Parâmetro | Descrição |
---|---|
catalog-item-id | (Obrigatório) Item de catálogo a ser instalado no ambiente de destino. |
target-url | (Obrigatório) O URL do ambiente de destino para a instalação de itens do catálogo (por exemplo, "https://YourOrg.crm.dynamics.com"). |
definições | (Obrigatório) Definições de pacote de runtime para a estrutura de instalação a executar. O formato da cadeia tem de ser key=value|key=value . |
target-version | Versão de destino a instalar. Se deixada vazia, é selecionada a versão publicada. |
poll-status | Inquérito para verificar o estado do seu pedido. |
submit
Lista todos os itens de catálogo publicados do ambiente do Dataverse atual (organização).
Parâmetro | Descrição |
---|---|
path | (Obrigatório) Caminho para o documento de submissão do catálogo. |
package-zip | Caminho para o ficheiro zip do pacote. |
solution-zip | Caminho para o ficheiro zip da solução. |
poll-status | Consulta para verificar o estado do pedido. |
estado
Obter estado de pedido de instalação/submissão do catalog.
Parâmetro | Descrição |
---|---|
tracking-id | (Obrigatório) ID de monitorização do pedido. |
type | (Obrigatório) Tipo de pedido (Valores: Instalar, Submeter) |
Criação do fluxo de trabalho do GitHub
Para saber mais sobre a composição de fluxos de trabalho do GitHub utilizando as Ações GitHub, complete as Ações GitHub para laboratórios do Microsoft Power Platform.
Mais informações: Sobre as Ações GitHub