Compartilhar via


GitHub Actions disponíveis para 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, os fluxos de trabalho do GitHub de exemplo também são mostrados. Para obter mais informações sobre as GitHub Actions e como baixá-las, acesse GitHub Actions para Microsoft Power Platform.

Configure as credenciais a serem usadas com o GitHub Actions no Microsoft Power Platform

Muitas das ações exigem que você se conecte a um ambiente do Microsoft Dataverse. É possível adicionar uma entidade de serviço ou credenciais de usuário como segredos no repositório do GitHub e, em seguida, usá-los nos fluxos de trabalho.

Depois da configuração, será possível chamar a entidade de serviço dentro dos scripts de ação.

Parâmetros a serem definidos no script de ação do GitHub como variáveis de ambiente:

  • ID do aplicativo, como: WF_APPLICATION_ID:<your application id>
  • ID do locatário, como: WF_TENANT_ID:<your tenant id>

O segredo do cliente deve ser adicionado e armazenado como um segredo do GitHub e será consultado no fluxo de trabalho usando um parâmetro como: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tarefas do assistente

A tarefa auxiliar disponível é descrita abaixo.

actions-install

Quando um fluxo de trabalho do GitHub Actions forçar uma instalação do Power Platform CLI no contexto de um executor e ocorrer um erro de tempo limite, você deverá usar a versão 1 (@v1) com uma ação adicional (actions-install) como abaixo.

Importante

  • O uso da versão 1 (@v1) pode levar a atualizações no GitHub Actions existente que podem resultar na atualização dos fluxos de trabalho atuais.
  • Você deve adicionar a tarefa Instalar Power Platform Tools como a primeira tarefa em seu fluxo de trabalho, antes de qualquer outra ação do GitHub para 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'

Você pode encontrar exemplos adicionais de GitHub Actions em Ações do Power Platform.

whoAmI

Verifica a conexão do serviço conectando-se ao serviço e enviando uma solicitação WhoAmI [SDK/API da web]. Pode ser útil incluir essa tarefa no início do fluxo de trabalho do GitHub para verificar a conectividade antes do início do processamento.

Parâmetro Descrição
environment-url A URL do ambiente ao qual você está se conectando.
user-name O nome de usuário da conta que você está usando para se conectar.
password-secret A senha de user-name. As senhas do GitHub são definidas em Configurações em Segredos. Não será possível recuperar um segredo depois que ele tiver sido definido e salvo.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.

Tarefas de solução

Essas tarefas executam ações em soluções e incluem o seguinte.

import-solution

Importa uma solução para um ambiente de destino.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de destino para onde você quer importar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
solution-file (Obrigatório) O caminho e o nome do arquivo de solução que você deseja importar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.

export-solution

Exporta uma solução de um ambiente de origem.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de onde você quer exportar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação de nome de usuário/senha, a senha de user-name. As senhas do GitHub são definidas em Configurações em Segredos. Não será possível recuperar um segredo depois que ele tiver sido definido e salvo.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
solution-name (Obrigatório) O nome da solução a ser exportada. Sempre use o nome da solução e não seu nome de exibição.
solution-output-file (Obrigatório) O caminho e o nome do arquivo solution.zip para exportação do ambiente de origem.
managed (Obrigatório) Defina como verdadeiro para exportar como solução gerenciada; o padrão (falso) é exportar como uma solução não gerenciada.

unpack-solution

Obtém um arquivo de solução compactado e o decompõe em vários arquivos XML para que esses arquivos possam ser lidos e gerenciados mais facilmente por um sistema de controle de origem.

Parâmetro Descrição
solution-file (Obrigatório) O caminho e o nome do arquivo solution.zip a ser descompactado.
solution-folder (Obrigatório) A pasta de caminho e destino na qual você deseja descompactar a solução.
solution-type (Obrigatório) O tipo de solução que você deseja descompactar. As opções incluem Não gerenciado (recomendado), Gerenciado e Ambos.

pack-solution

Empacota uma solução representada no controle de origem em um arquivo solution.zip que pode ser importado para outro ambiente.

Parâmetro Descrição
solution-file (Obrigatório) O caminho e o nome do arquivo solution.zip para empacotar a solução (por exemplo, out/CI/ALMLab.zip).
solution-folder (Obrigatório) O caminho e a pasta de origem da solução a ser empacotada.
solution-type (Opcional) O tipo de solução a empacotar. As opções incluem Não gerenciado (recomendado), Gerenciado e Ambos.

publish-solution

Publica as personalizações da solução.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de destino onde você quer publicar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
solution-file (Obrigatório) O caminho e o nome do arquivo de solução que você deseja importar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.

clone-solution

Clona a solução para um determinado ambiente.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de onde você quer clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
solution-file (Obrigatório) O caminho e o nome do arquivo de solução que você deseja importar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
solution-name (Obrigatório) O caminho e o nome do arquivo solution.zip necessários para clonagem (por exemplo, out/CI/ALMLab.zip).
solution-version A versão da solução para clonagem.
target-folder Pasta de destino na qual a solução extraída deve ser colocada. (por exemplo, Git repository\target-solution-folder).
Working-directory Pasta temporária para artefatos de trabalho em andamento necessários para clonar a solução.
padrão: root of the repository

check-solution

Verifica o arquivo da solução para detectar inconsistências.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de onde você quer clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
caminho (Obrigatório) O caminho e o nome do arquivo de solução que você deseja verificar.
geo Qual localização geográfica do serviço Verificador do Microsoft Power Platform usar. O valor padrão é 'united states'.
rule-level-override Caminho de um arquivo que contém uma matriz JSON de regras e os níveis. Os valores aceitos são: Critical, High, Low e Informational. 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 artefato na qual os logs do verificador do Microsoft Power Platform serão carregados. O valor padrão é 'CheckSolutionLogs'.

upgrade-solution

Oferece a possibilidade de atualizar a solução.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de onde você quer clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
solution-file (Obrigatório) O caminho e o nome do arquivo de solução que você deseja importar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
solution-name (Obrigatório) Nome da solução a ser atualizada.
async Atualiza a solução de maneira assíncrona.
max-async-wait-time Tempo de espera assíncrono máximo em minutos. O valor padrão é 60 minutos.

Tarefas de pacote

Estas tarefas realizam ações em pacotes e incluem os itens a seguir.

deploy-package

Oferece a possibilidade de implantar um pacote dll ou um arquivo zip com um pacote.

Nota

Só há suporte para essa ação em um Windows.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente de onde você quer clonar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
user-name (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, o nome de usuário da conta que você está usando para se conectar.
password-secret (Obrigatório) Se você estiver usando autenticação com nome de usuário/senha, a senha da conta que você está usando para se conectar.
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
package (Obrigatório) O caminho da dll do pacote ou do arquivo zip com um pacote.

Tarefas do portal

Essas tarefas executam as ações a seguir do Power Pages.

upload-paportal

Carrega dados no Power Pages.

Parâmetro Descrição
environment-url (Obrigatório) A URL do ambiente para onde você quer importar a solução (por exemplo, https://YourOrg.crm.dynamics.com).
app-id A ID do aplicativo para autenticação. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
client-secret O segredo do cliente usado na autenticação do pipeline do GitHub. Este parâmetro é obrigatório durante a autenticação com credenciais da entidade de serviço.
tenant-id A ID do locatário durante a autenticação com app-id e client-secret.
upload-path Caminho onde o conteúdo do site é armazenado (alias: -p).
deployment-profile Carregue os dados do portal com detalhes do ambiente definidos por meio de variáveis de perfil no arquivo deployment-profiles/[profile-name].deployment.yaml.
model-version Indica se os dados do site a serem carregados vão usar o modelo de dados (1) ou avançado (2). O valor padrão é "1".

Saiba mais sobre o suporte ao Microsoft Power Platform CLI para Power Pages.

Tarefas do catálogo (versão preliminar)

Essas tarefas executam ações relacionadas ao catálogo no Power Platform incluem o seguinte.

Observação

Atualmente, as tarefas do catálogo do Power Platform estão em uma versão preliminar.

instalar

Instale um item do catalog no ambiente de destino.

Parâmetro Descrição
catalog-item-id (Obrigatório) O item do catálogo a ser instalado no ambiente de destino.
target-url (Obrigatório) O URL do ambiente de destino para a instalação do item do catálogo (por exemplo, "https://YourOrg.crm.dynamics.com").
settings (Obrigatório) Configurações do pacote de runtime para a estrutura de instalação a ser executada. O formato da cadeia de caracteres deve ser key=value|key=value.
target-version A versão de destino a ser instalada. Se deixada em branco, será selecionada a versão publicada.
poll-status Vote para verificar status da sua solicitação.

enviar

Liste todos os itens do catálogo publicados do ambiente atual do Dataverse (organização).

Parâmetro Descrição
path (Obrigatório) Caminho para o documento de envio do catálogo.
package-zip Caminho para o arquivo .zip do pacote.
solution-zip Caminho para arquivo zip de solução.
poll-status Vote para verificar o status de sua solicitação.

status

Obtenha o status da solicitação de instalação/envio do catalog.

Parâmetro Descrição
tracking-id (Obrigatório) Solicite a ID de rastreamento.
type (Obrigatório) Tipo de solicitação (Valores: Instalar, Enviar)

Criação do fluxo de trabalho do GitHub

Para saber mais sobre como criar fluxos de trabalho do GitHub usando ações do GitHub, conclua os laboratórios do GitHub Actions para Microsoft Power Platform.

Mais informações: Sobre GitHub Actions

Consulte também

Ações do GitHub para Microsoft Power Platform