Acciones de GitHub disponibles para el desarrollo de Microsoft Power Platform

Las acciones de GitHub para Microsoft Power Platform se describen en las siguientes secciones. Además, también se muestran ejemplos de flujos de trabajo de GitHub. Para obtener más información sobre las acciones de GitHub y cómo descargarlas, vaya a Acciones de GitHub para Microsoft Power Platform.

Configurar las credenciales para usar con las acciones de GitHub con Microsoft Power Platform

Muchas de las acciones requieren que se conecte con un entorno de Microsoft Dataverse. Puede agregar una entidad de servicio o las credenciales de usuario como secretos en su repositorio de GitHub y luego usarlas en sus flujos de trabajo.

  • Para obtener detalles sobre cómo configurar secretos en GitHub, consulte Secretos encriptados

  • Para obtener detalles sobre cómo configurar la autenticación de la entidad de servicio para Microsoft Power Platform, consulte DevOps Build Tools

Una vez configurado, puede llamar a la entidad de servicio desde sus scripts de acción.

Parámetros para definir dentro de su script de acción de GitHub como Variables de entorno:

  • Identificador de la aplicación como: WF_APPLICATION_ID:<your application id>
  • Identificador de del inquilino como: WF_TENANT_ID:<your tenant id>

El secreto del cliente debe agregarse y almacenarse como un secreto de GitHub, y se hará referencia a él desde el flujo de trabajo mediante parámetros como: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tareas de ayuda

La tarea de ayuda disponible se describe a continuación.

actions-install

Cuando un flujo de trabajo de GitHub Actions fuerza una instalación de Power Platform CLI en el contexto de un ejecutor y se produce un error de tiempo de espera, debe usar la versión 1 (@v1) con una acción adicional (actions-install) como a continuación.

Importante

  • El uso de la versión 1 (@v1) puede generar actualizaciones de acciones de GitHub existentes que pueden resultar en la actualización de los flujos de trabajo actuales.
  • Debes agregar la tarea Instalar Power Platform Tools como primera tarea en su flujo de trabajo antes de cualquier otra acción de 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'

Puede encontrar ejemplos adicionales de GitHub Actions en Comportamiento de Power Platform.

whoAmI

Comprueba la conexión del servicio conectándose al servicio y enviando una solicitud WhoAmI [SDK/API web]. Esta tarea puede resultar útil para incluirla al principio de su flujo de trabajo de GitHub, para verificar la conectividad antes de que comience el procesamiento.

Parámetro Descripción
environment-url La URL del entorno al que se va a conectar.
user-name El nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret La contraseña de user-name Las contraseñas de GitHub se definen en Configuración debajo de Secretos. No puede recuperar un secreto después de haberlo definido y guardado.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.

Tareas de solución

Estas tareas realizan acciones con soluciones, e incluyen las siguientes.

import-solution

Importa una solución a un entorno de destino.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino al que desea importar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
solution-file (Obligatorio) La ruta y el nombre del archivo de la solución que desea importar.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.

export-solution

Exporta una solución desde un entorno fuente.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino del que desea exportar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si está utilizando autenticación de nombre de usuario/contraseña, la contraseña de user-name. Las contraseñas de GitHub se definen en Configuración debajo de Secretos. No puede recuperar un secreto después de haberlo definido y guardado.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
solution-name (Obligatorio) Nombre de la solución a exportar. Utilice siempre el nombre de la solución, no su nombre para mostrar.
solution-output-file (Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para exportar al entorno de origen.
managed (Obligatorio) Se establece en true para exportar como un solución administrada; el valor predeterminado (false) exporta como una solución no administrada.

unpack-solution

Toma un archivo de la solución comprimido y lo descompone en varios archivos XML de forma que estos archivos se puedan administrar y leer más fácilmente mediante un sistema de control de origen.

Parámetro Descripción
solution-file (Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para desempaquetar.
solution-folder (Obligatorio) La ruta de acceso y la carpeta de destino a la que desea desempaquetar la solución.
solution-type (Obligatorio) El tipo de solución que quiere desempaquetar. Las opciones incluyen: No administrada (recomendado), Administrada y Ambas.

pack-solution

Empaqueta una solución representada en el control de origen en un archivo solution.zip que se puede importar en otro entorno.

Parámetro Descripción
solution-file (Obligatorio) La ruta y el nombre del archivo solution.zip en el que se va a empaquetar la solución (por ejemplo, out/CI/ALMLab.zip).
solution-folder (Obligatorio) La ruta de acceso y la carpeta de origen de la solución a empaquetar.
solution-type (Opcional) El tipo de solución que se va a empaquetar. Las opciones incluyen: No administrada (recomendado), Administrada y Ambas.

publish-solution

Publica las personalizaciones de la solución.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno en el que desea publicar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
solution-file (Obligatorio) La ruta y el nombre del archivo de la solución que desea importar.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.

clone-solution

Clona la solución para un entorno determinado.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino del que desea clonar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
solution-file (Obligatorio) La ruta y el nombre del archivo de la solución que desea importar.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
solution-name (Obligatorio) La ruta y el nombre del archivo solution.zip necesario para la clonación (por ejemplo, out/CI/ALMLab.zip).
solution-version Versión de la solución que se va a clonar.
target-folder Carpeta de destino donde colocar la solución extraída. (Por ejemplo, repository\target-solution-folder de Git).
Working-directory Carpeta temporal para los artefactos en proceso necesarios para clonar la solución.
Predeterminada: root of the repository

check-solution

Comprueba el archivo de la solución para detectar inconsistencias.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino del que desea clonar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
path (Obligatorio) La ruta y el nombre del archivo de la solución que desea comprobar.
geo Qué ubicación geográfica utilizar del servicio del comprobador de Microsoft Power Platform. El valor predeterminado es 'united states'.
rule-level-override Ruta al archivo que contiene una matriz JSON de reglas y sus niveles. Los valores aceptados son: Crítico, Alto, Bajo e Informativo. Ejemplo: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name El nombre de la carpeta de artefactos para la que se van a cargar los registros del comprobador de Microsoft Power Platform. El valor predeterminado es 'CheckSolutionLogs'.

upgrade-solution

Ofrece la capacidad de actualizar la solución.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino del que desea clonar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
solution-file (Obligatorio) La ruta y el nombre del archivo de la solución que desea importar.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
solution-name (Obligatorio) Nombre de la solución que se actualiza.
asincrónico Actualiza la solución asincrónicamente.
max-async-wait-time Tiempo máximo de espera asincrónico en minutos. El valor predeterminado es 60 minutos.

Tareas del paquete

Estas tareas realizan acciones respecto a los paquetes e incluyen lo siguiente.

deploy-package

Ofrece la capacidad de implementar un paquete .dll o un archivo .zip con un paquete.

Nota

Esta acción solo es compatible con Windows.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno de destino del que desea clonar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
user-name (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, el nombre de usuario de la cuenta que está utilizando para conectarse.
password-secret (Obligatorio) Si utiliza autenticación de nombre de usuario/contraseña, la contraseña de la cuenta que está utilizando para conectarse.
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
Paquete (Obligatorio) La ruta de acceso al paquete .dll o archivo .zip con un paquete.

Tareas de portal

Estas tareas realizan las siguientes acciones en Power Pages.

upload-paportal

Carga datos en Power Pages.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno en el que desea importar la solución (por ejemplo, https://YourOrg.crm.dynamics.com).
app-id El identificador de la aplicación con el que se va a autenticar. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
client-secret El secreto del cliente utilizado para autenticar la canalización de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id La identificación del inquilino al autenticarse con app-id y client-secret.
upload-path Ruta de acceso a la ubicación en la que se almacena el contenido del sitio web (alias: -p).
deployment-profile Cargue los datos del portal con los detalles del entorno definidos a través de variables de perfil en el archivo deployment-profiles/[profile-name].deployment.yaml.

Tareas de catálogo (versión preliminar)

Estas tareas realizan acciones en el catálogo en Power Platform, e incluyen las siguientes.

Nota

Actualmente, las tareas de catálogo para Power Platform son un lanzamiento de versión preliminar.

install

Instalar un elemento de catalog en el entorno de destino.

Parámetro Descripción
catalog-item-id (Obligatorio) Artículo del catálogo que se instalará en el entorno de destino.
target-url (Obligatorio) La dirección URL del entorno de destino para la instalación del artículo del catálogo (por ejemplo, "https://YourOrg.crm.dynamics.com").
configuración (Obligatorio) Configuración del paquete de tiempo de ejecución para que se ejecute el marco de instalación. El formato de la columna debe ser key=value|key=value.
target-version Versión de destino para instalar. Si se deja vacío, se selecciona la versión publicada.
poll-status Sondeo para comprobar el estado de su solicitud.

submit

Lista de todos los artículos del catálogo publicados desde el actual entorno de Dataverse (organización).

Parámetro Descripción
path (Obligatorio) Ruta al documento de envío del catálogo.
package-zip Ruta de acceso al archivo zip del paquete.
solution-zip Ruta de acceso al archivo zip de la solución.
poll-status Sondear para comprobar el estado de la solicitud.

status

Obtener el estado de la solicitud de instalación o envío de catalog.

Parámetro Descripción
tracking-id (Obligatorio) Id de seguimiento de solicitud.
tipo (Obligatorio) Tipo de solicitud (Valores: Instalar, Enviar)

Creación de flujo de trabajo de GitHub

Para obtener más información sobre cómo componer flujos de trabajo de GitHub mediante acciones de GitHub, complete los laboratorios de acciones de GitHub para Microsoft Power Platform.

Más información: Acerca de las Acciones de GitHub

Vea también

Acciones de GitHub para Microsoft Power Platform