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.
Para obter detalhes sobre como configurar segredos no GitHub, consulte Segredos criptografados
Para obter detalhes sobre como configurar a autenticação da entidade de serviço para o Microsoft Power Platform, consulte Ferramentas de compilação do DevOps
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