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. |
versión-modelo | Indica si los datos del sitio que se van a cargar usarán 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 (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