Доступные GitHub Actions для разработки Microsoft Power Platform

В следующих разделах описаны GitHub Actions для Microsoft Power Platform. В разделах также приведены примеры воркфлоу GitHub. Дополнительные сведения о GitHub Actions и их загрузке см. в GitHub Actions для Microsoft Power Platform.

Настройте учетные данные для использования с GitHub Actions с помощью Microsoft Power Platform

Многие действия требуют подключения к среде Microsoft Dataverse. Добавьте учетные данные субъект-службы или пользователя в качестве секретов в репозитории GitHub, а затем используйте их в рабочих процессах.

После настройки учетных данных можно использовать субъект-службу из скриптов Action.

Определите следующие параметры в скрипте действий GitHub в качестве переменных среды:

  • Идентификатор приложения, например: WF_APPLICATION_ID:<your application id>
  • Идентификатор арендатора, например: WF_TENANT_ID:<your tenant id>

Добавьте секрет клиента в качестве секрета GitHub. Сослаться на него из рабочего процесса с помощью параметра, например: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Вспомогательные задачи

Доступна следующая вспомогательная задача.

actions-install

Если рабочий процесс GitHub Actions принудительно устанавливает Интерфейс командной строки Power Platform в контексте средства выполнения и возникает ошибка времени ожидания, используйте версию 1 (@v1) с дополнительным действием (actions-install), как показано в следующем примере.

Важно

  • Использование версии 1 (@v1) может привести к обновлению существующих GitHub Actions, что может привести к обновлению текущих рабочих процессов.
  • Добавьте задачу Install Power Platform Tools в качестве первой задачи в рабочем процессе перед любыми другими действиями GitHub Actions для 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'

Дополнительные примеры GitHub Actions можно найти в Power Platform Actions.

whoAmI

Проверяет подключение к службе, подключаясь к службе и отправляя к ней запрос WhoAmI [SDK/веб-API]. Эта задача может быть полезной для включения в рабочий процесс GitHub для проверки подключения перед началом обработки.

Параметр Описание
environment-url URL-адрес среды, к которой вы подключаетесь.
user-name Имя пользователя учетной записи, используемой для подключения.
password-secret Пароль для user-name. Укажите пароли GitHub в разделе Параметры в разделе Секреты. Вы не можете просмотреть секрет после его определения и сохранения.
app-id Идентификатор приложения для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
client-secret Это секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных service principal.
tenant-id Идентификатор клиента при аутентификации с помощью app-id и client-secret.

Задачи по решению

Эти задачи выполняют действия над решениями и включают следующее.

import-solution

Импортирует решение в целевую среду.

Параметр Описание
environment-url (Обязательно) URL-адрес целевой среды, в которую вы хотите импортировать решение (например, https://YourOrg.crm.dynamics.com).
имя пользователя (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите пароль учетной записи, с которой вы подключаетесь.
solution-file (Обязательно) Путь и имя файла решения, который вы хотите импортировать.
app-id ИД приложения для аутентификации. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта службы.
client-secret Секрет клиента используется для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных субъекта-службы приложения.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.

export-solution

Экспортирует решение из исходной среды.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, из которой вы хотите экспортировать решение (например, https://YourOrg.crm.dynamics.com).
имя пользователя (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль для user-name. Определите GitHub пароли в разделе Параметры в разделе Секреты. Вы не можете получить секрет после определения и сохранения секрета.
app-id ИД приложения для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных субъекта-службы.
client-secret Секрет клиента, используемый для проверки подлинности конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных принципала службы.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
solution-name (Обязательно) Имя решения для экспорта. Всегда используйте имя решения, а не его отображаемое имя.
solution-output-file (Обязательно) Путь и имя файла solution.zip для экспорта из исходной среды.
управляемый (Обязательно) Установите true, чтобы экспортировать в виде управляемого решения; по умолчанию (false) — экспортировать как неуправляемое решение.

unpack-solution

Принимает сжатый файл решения и разбивает его на несколько XML-файлов. Эти файлы легче читать и ими управлять в системе управления версиями.

Параметр Описание
solution-file (Обязательно) Путь и имя файла solution.zip для распаковки.
solution-folder (обязательно) Путь и целевая папка, в которой нужно распаковать решение.
тип решения (Обязательно) Тип решения, которое вы хотите открыть. Варианты включают Unmanaged (рекомендуется), Managed и Оба варианта.

пакетное решение

Упаковывает решение, представленное в системе управления версиями, в файл solution.zip, который можно импортировать в другую среду.

Параметр Описание
solution-file (обязательно) Путь и имя файла solution.zip для упаковки решения в него (например, out/CI/ALMLab.zip).
solution-folder (Обязательно) Путь и исходная папка решения для упаковки.
solution-type (Необязательно) Тип упаковываемого пакета. Варианты включают в себя Неуправляемое (рекомендуется), Управляемое и Оба.

publish-solution

Публикует изменения решения.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, в которую вы хотите опубликовать решение (например, https://YourOrg.crm.dynamics.com).
user-name (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите пароль учетной записи, с которой вы подключаетесь.
solution-file (Обязательно) Путь и имя файла решения, который вы хотите импортировать.
app-id ИД приложения для аутентификации. Этот параметр обязательный при аутентификации с использованием учетных данных субъект-службы.
client-secret Это секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных сервисного участника.
tenant-id ID арендатора при аутентификации с помощью app-id и client-secret.

clone-solution

Клонирует решение для данной среды.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com).
user-name (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль учетной записи, используемой для подключения.
solution-file (Обязательно) Путь и имя файла решения, который вы хотите импортировать.
app-id ID приложения для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
client-secret Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
solution-name (Обязательно) Путь и имя файла solution.zip, необходимого для клонирования (например, out/CI/ALMLab.zip).
solution-version Версия решения для клонирования.
target-folder Целевая папка, в которую нужно поместить извлеченное решение. (например, Git repository\target-solution-folder).
Рабочий каталог Временная папка для артефактов незавершенной работы, необходимых для клонирования проекта.
по умолчанию: root of the repository

проверить решение

Проверяет файл решения на наличие несоответствий.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com).
имя пользователя (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите пароль учетной записи, с которой вы подключаетесь.
app-id ИД приложения для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных сервисного субъекта.
client-secret Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
путь (Обязательно) Путь и имя файла решения, который вы хотите проверить.
geo Какое расположение службы Microsoft Power Platform Checker следует использовать. Значение по умолчанию — "united states".
rule-level-override Путь к файлу a, содержащему массив JSON с правилами и их уровнями. Допустимые значения: Critical, High, Low и Informational. Пример: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Имя папки артефактов, для которой журналы средства проверки Microsoft Power Platform будут загружены. Значение по умолчанию — "CheckSolutionLogs".

upgrade-solution

Модернизирует решение.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com).
имя пользователя (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите пароль учетной записи, с которой вы подключаетесь.
solution-file (Обязательно) Путь и имя файла решения, который вы хотите импортировать.
app-id ИД приложения для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных принципала службы.
client-secret Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
solution-name (Обязательно) Имя решения для обновления.
async Обновляет решение до новой версии асинхронно.
max-async-wait-time Максимальное время асинхронного ожидания в минутах. Значение по умолчанию равно 60 минутам.

Пакетные задачи

Эти задачи выполняют действия с пакетами.

deploy-package

Развертывает библиотеку DLL пакета или ZIP-файл с пакетом.

Заметка

Это действие поддерживается только в Windows.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com).
имя пользователя (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите имя пользователя учетной записи, с которой вы подключаетесь.
password-secret (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, укажите пароль учетной записи, с которой вы подключаетесь.
app-id ИД приложения для аутентификации. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы.
client-secret Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных принципала службы.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
пакет (обязательно) Путь к DLL-файлу пакета или ZIP-файлу с пакетом.

Задачи портала

Эти задачи выполняют следующие действия с Power Pages.

upload-paportal

Отправляет данные в Power Pages.

Параметр Описание
environment-url (Обязательно) URL-адрес среды, в которую вы хотите импортировать решение (например, https://YourOrg.crm.dynamics.com).
app-id Идентификатор приложения, используемый для аутентификации. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
client-secret Это секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязателен при аутентификации с использованием учетных данных Service Principal.
tenant-id Идентификатор арендатора при аутентификации с помощью app-id и client-secret.
upload-path Путь к каталогу, где хранится контент веб-сайта (псевдоним: -p).
deployment-profile Загрузите данные портала со сведениями о среде, определенными с помощью переменных профиля в файле deployment-profiles/[profile-name].deployment.yaml.
версия-модели Указывает, используют ли загружаемые данные сайта стандартную (1) или расширенную модель данных (2). Значение по умолчанию — 1.

Подробнее о поддержке Microsoft Power Platform CLI для Power Pages.

Задачи Catalog (предварительная версия)

Эти задачи выполняют действия с каталогом в Power Platform.

Заметка

В настоящее время задачи каталога для Power Platform доступны в предварительной версии.

Установить

Установите элемент каталога в целевую среду.

Параметр Описание
catalog-item-id (обязательно) Элемент каталога для установки в целевой среде.
target-url (обязательно) URL-адрес целевой среды для установки элемента каталога (например, https://YourOrg.crm.dynamics.com).
параметры (Обязательно) Параметры пакета среды выполнения для запуска платформы установки. Формат строки должен быть таким: key=value|key=value
target-version Версия для установки. Если вы не указываете версию, будет выбрана опубликованная версия.
poll-status Проверьте статус вашего запроса.

Отправить

Выведите список всех опубликованных элементов каталога из текущей среды Dataverse (организации).

Параметр Описание
путь (Обязательно) Путь к документу отправки каталога.
package-zip Путь к ZIP-файлу пакета.
solution-zip Путь к ZIP-файлу решения.
poll-status Проверьте состояние вашего запроса.

статус

Получите статус установки каталога или запроса на отправку.

Параметр Описание
tracking-id (Обязательно) ИД отслеживания запроса.
тип (Обязательно) Тип запроса. Допустимые значения — Install и Submit.

Создание workflow GitHub

Чтобы узнать больше о создании рабочих процессов GitHub с помощью GitHub Actions, выполните лабораторные работы GitHub Actions для Microsoft Power Platform.

Дополнительные сведения см. в разделе «О GitHub Actions».

См. также

GitHub Actions for Microsoft Power Platform