Acciones de GitHub disponibles para el desarrollo de Microsoft Power Platform

En las secciones siguientes se describen Acciones de GitHub para Microsoft Power Platform. Las secciones también muestran flujos de trabajo de GitHub de ejemplo. Para obtener más información sobre Acciones de GitHub y cómo descargarlos, consulte 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. Agregue credenciales de usuario o entidad de servicio como secretos en el repositorio de GitHub y después úselas en los flujos de trabajo.

Después de configurar las credenciales, puede llamar al service principal desde los scripts de Action.

Defina los parámetros siguientes en el script de acción de GitHub como variables de entorno:

  • Identificador de aplicación, como: WF_APPLICATION_ID:<your application id>
  • Id. de tenant, como: WF_TENANT_ID:<your tenant id>

Agregue el secreto de cliente como secreto de GitHub. Haga referencia a él desde dentro del flujo de trabajo mediante un parámetro como: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Tareas auxiliares

La siguiente tarea auxiliar está disponible.

actions-install

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

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.
  • Agregue la tarea Instalar Power Platform Tools como la primera tarea del flujo de trabajo antes de cualquier otra Acciones 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 más ejemplos de Acciones de GitHub en Acciones de Power Platform.

whoAmI

Comprueba la conexión del servicio conectándose al servicio y enviando una solicitud de la WhoAmI [SDK/API web]. Esta tarea puede ser útil para incluir al principio del flujo de trabajo de GitHub para comprobar 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 con la que se está conectando.
contraseña-secreta La contraseña de user-name. Defina las contraseñas de GitHub en Configuración en Secretos. No se puede recuperar un secreto después de definirlo y guardarlo.
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 el pipeline de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id El ID del inquilino al autenticarse con app-id y client-secret.

Tareas de la 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.
archivo de solución (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 el pipeline de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id El ID 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 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 para user-name. Defina las contraseñas de GitHub en Settings en Secretos. No se puede recuperar un secreto después de definirlo y guardarlo.
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 el pipeline de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la Entidad de servicio.
tenant-id El ID 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 al que exportar el entorno de origen.
gestionado (Obligatorio) Se establece en true para exportar como una solución administrada; el valor predeterminado (false) es exportar como una solución no administrada.

unpack-solution

Toma un archivo de solución comprimido y lo descompone en varios archivos XML. Puede leer y administrar estos archivos más fácilmente en un sistema de control de código fuente.

Parámetro Descripción
solution-file (Obligatorio) La ruta de acceso y el nombre del archivo solution.zip para desempaquetar.
solution-folder (Obligatorio) Ruta de acceso y carpeta de destino donde 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 código fuente en un archivo solution.zip que puede importar en otro entorno.

Parámetro Descripción
solution-file (Obligatorio) Ruta de acceso y nombre de archivo del archivo solution.zip en el que se empaqueta la solución (por ejemplo, out/CI/ALMLab.zip).
carpeta de soluciones (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.

publicar-solución

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.
archivo de solución (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 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 el pipeline de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id El ID del tenant al autenticarse con app-id y client-secret.
solution-name (Obligatorio) La ruta y el nombre del archivo solution.zip necesarios para clonar (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, repositorio\target-solution-folder de Git).
Directorio de trabajo Carpeta temporal para los artefactos en proceso necesarios para clonar la solución.
Predeterminado: 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 origen 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 Service Principal.
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 El ID del inquilino al autenticarse con app-id y client-secret.
ruta (Obligatorio) La ruta y el nombre del archivo de la solución que desea comprobar.
geo Qué ubicación geográfica del servicio Microsoft Power Platform Checker usar. El valor predeterminado es 'Estados Unidos'.
rule-level-override Ruta al archivo que contiene un array 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'.

actualizar-solución

Mejora 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.
archivo de solución (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 va a actualizar.
asíncrono 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 en paquetes.

deploy-package

Implementa un archivo DLL de paquete o un archivo ZIP con un paquete.

Nota

Esta acción solo se admite en Windows.

Parámetro Descripción
environment-url (Obligatorio) La dirección URL del entorno desde el 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) Ruta de acceso al archivo DLL o ZIP que contiene 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 el pipeline de GitHub. Este parámetro es obligatorio al autenticarse con las credenciales de la entidad de servicio.
tenant-id El ID 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).
perfil de implementación 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.
versión del modelo Indica si los datos del sitio que se van a cargar usan el modelo de datos estándar (1) o mejorado (2). El valor predeterminado es 1.

Más información sobre la compatibilidad de Microsoft Power Platform CLI con Power Pages.

Tareas de catálogo (vista previa)

Estas tareas realizan acciones en el catálogo en Power Platform.

Nota

Actualmente, las tareas de catálogo para Power Platform están en versión preliminar.

Instalar

Instale un elemento de catalog en el entorno de destino.

Parámetro Descripción
catalog-item-id (Obligatorio) Elemento de catálogo que se va a instalar en el entorno de destino.
target-url (Obligatorio) Dirección URL del entorno de destino para la instalación del elemento de catálogo (por ejemplo, https://YourOrg.crm.dynamics.com).
configuración (Obligatorio) Configuración del paquete de tiempo de ejecución necesaria para que se ejecute el programa de instalación. El formato de la cadena debe ser key=value|key=value.
target-version Versión de destino que se va a instalar. Si no especifica una versión, se selecciona la versión publicada.
poll-status Comprobar el estado de su solicitud.

Enviar

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

Parámetro Descripción
ruta (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 Consultar para comprobar el estado de la solicitud.

status

Obtenga el estado de la instalación del catálogo o de la solicitud de envío.

Parámetro Descripción
tracking-id (Obligatorio) Id de seguimiento de solicitud.
tipo (Obligatorio) Tipo de solicitud. Los valores válidos son Install y Submit.

Creación de flujos de trabajo en GitHub

Para obtener más información sobre la composición de flujos de trabajo de GitHub mediante Acciones de GitHub, complete los laboratorios de Acciones de GitHub para Microsoft Power Platform.

Para obtener más información, consulte Acerca de Acciones de GitHub.

Véase también

Acciones de GitHub para Microsoft Power Platform