Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В следующих разделах описаны GitHub Actions для Microsoft Power Platform. В разделах также приведены примеры воркфлоу GitHub. Дополнительные сведения о GitHub Actions и их загрузке см. в GitHub Actions для Microsoft Power Platform.
Настройте учетные данные для использования с GitHub Actions с помощью Microsoft Power Platform
Многие действия требуют подключения к среде Microsoft Dataverse. Добавьте учетные данные субъект-службы или пользователя в качестве секретов в репозитории GitHub, а затем используйте их в рабочих процессах.
Дополнительные сведения о настройке секретов в GitHub см. в разделе Зашифрованные секреты.
Дополнительные сведения о настройке аутентификации субъекта-службы для Microsoft Power Platform см. в статье "Средства сборки DevOps".
После настройки учетных данных можно использовать субъект-службу из скриптов 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».