Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Para más información sobre cómo configurar secretos en GitHub, consulte Secretos cifrados.
Para más información sobre cómo configurar la autenticación de entidad de servicio para Microsoft Power Platform, consulte Herramientas de compilación de DevOps.
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.