Доступные GitHub Actions для разработки Microsoft Power Platform
Действия GitHub для Microsoft Power Platform описаны в следующих разделах. Кроме того, показаны также примеры рабочих процессов GitHub. Для получения дополнительных сведений о GitHub Actions и о том, как их загрузить, перейдите по ссылке GitHub Actions для Microsoft Power Platform.
Настройте учетные данные для использования с GitHub Actions с помощью Microsoft Power Platform
Многие действия требуют подключения к среде Microsoft Dataverse. Вы можете добавить субъект-службу или учетные данные пользователя в качестве секретов в репозиторий GitHub, а затем использовать их в своих бизнес-процессах.
Подробнее о том, как настроить секреты в GitHub, см. Зашифрованные секреты
Подробнее о том, как настроить аутентификацию субъекта-службы для Microsoft Power Platform, см. Инструменты сборки DevOps
После настройки вы можете вызвать субъекта-службы из сценариев действий.
Параметры, которые необходимо определить в сценарии GitHub Action как Переменные среды:
- ИД приложения например:
WF_APPLICATION_ID:<your application id>
- ИД клиента например:
WF_TENANT_ID:<your tenant id>
Секрет клиента должен быть добавлен и сохранен как секрет GitHub, и на него будет ссылаться из бизнес-процесса с помощью такого параметра, как: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}
Вспомогательные задачи
Доступная вспомогательная задача описана ниже.
установка-действий
Когда рабочий процесс GitHub Actions принудительно устанавливает интерфейс командной строки Power Platform в контексте средства исполнения и возникает ошибка времени ожидания, тогда необходимо использовать версию 1 (@v1) с дополнительным действием (actions-install
), как показано ниже.
Внимание
- Использование версии 1 (@v1) может привести к обновлению существующих действий GitHub Actions, что может привести к обновлению текущих рабочих процессов.
- Вы должны добавить задачу Установить 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.
whoAmI
Проверяет подключение к службе, подключившись к службе и отправив запрос WhoAmI
[SDK/Веб-API]. Эту задачу может быть полезно включить в бизнес-процесс GitHub на раннем этапе, чтобы проверить подключение до начала обработки.
Параметр | Описание |
---|---|
environment-url | URL-адрес среды, к которой вы подключаетесь. |
user-name | Имя пользователя учетной записи, которую вы используете для подключения. |
password-secret | Пароль для имени пользователя. Пароли GitHub определены в Параметры, Секреты. Вы не можете получить секрет после того, как он был определен и сохранен. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
tenant-id | ИД клиента при аутентификации с помощью app-id и client-secret . |
Задачи решения
Эти задачи выполняют действия для решений и включают следующее.
import-solution
Импортирует решение в целевую среду.
Параметр | Описание |
---|---|
environment-url | (Обязательно) URL-адрес целевой среды, в которую вы хотите импортировать решение (например, https://YourOrg.crm.dynamics.com ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
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 ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
password-secret | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль для имени пользователя. Пароли GitHub определены в Параметры, Секреты. Вы не можете получить секрет после того, как он был определен и сохранен. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
tenant-id | ИД клиента при аутентификации с помощью app-id и client-secret . |
solution-name | (Обязательно) Имя экспортируемого решения. Всегда используйте имя решения, а не его отображаемое имя. |
solution-output-file | (Обязательно) Путь и имя файла solution.zip для экспорта в исходную среду. |
managed | (Обязательно) Установите истина, чтобы экспортировать в виде управляемого решения; по умолчанию (ложь) — экспортировать как неуправляемое решение. |
unpack-solution
Принимает сжатый файл решения и разбивает его на несколько файлов XML и других файлов, чтобы система управления исходным кодом могла более легко читать и управлять этими файлами.
Параметр | Описание |
---|---|
solution-file | (Обязательно) Путь и имя файла solution.zip для распаковки. |
solution-folder | (Обязательно) Путь и целевая папка, в которую вы хотите распаковать решение. |
solution-type | (Обязательно) Тип решения, которое вы хотите распаковать. Варианты включают в себя Неуправляемое (рекомендуется), Управляемое и Оба. |
pack-solution
Упаковывает решение, представленное в управлении исходным кодом версиями, в файл 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 | ИД клиента при аутентификации с помощью app-id и client-secret . |
clone-solution
Клонирует решение для данной среды.
Параметр | Описание |
---|---|
environment-url | (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
password-secret | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль учетной записи, с которой вы подключаетесь. |
solution-file | (Обязательно) Путь и имя файла решения, который вы хотите импортировать. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
tenant-id | ИД клиента при аутентификации с помощью app-id и client-secret . |
solution-name | (Обязательно) Путь и имя файла solution.zip, необходимого для клонирования (например, out/CI/ALMLab.zip). |
solution-version | Версия клонируемого решения. |
target-folder | Целевая папка, в которую нужно поместить извлеченное решение. (например, Git repository\target-solution-folder). |
Working-directory | Временная папка для артефактов незавершенной работы, необходимых для клонирования решения. по умолчанию: root of the repository |
check-solution
Проверяет файл решения на наличие несоответствий.
Параметр | Описание |
---|---|
environment-url | (Обязательно) URL-адрес среды, из которой вы хотите клонировать решение (например, https://YourOrg.crm.dynamics.com ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
password-secret | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль учетной записи, с которой вы подключаетесь. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
tenant-id | ИД клиента при аутентификации с помощью app-id и client-secret . |
path | (Обязательно) Путь и имя файла решения, который вы хотите проверить. |
geo | Какой географическое расположение службы средства проверки Microsoft Power Platform следует использовать. Значение по умолчанию — "США". |
rule-level-override | Путь к файлу, содержащему массив правил JSON и их уровни. Допустимые значения: критическое, высокое, низкое и информационное. Пример: [{"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 ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
password-secret | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль учетной записи, с которой вы подключаетесь. |
solution-file | (Обязательно) Путь и имя файла решения, который вы хотите импортировать. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
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 ). |
user-name | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, имя пользователя учетной записи, с которой вы подключаетесь. |
password-secret | (Обязательно) Если вы используете аутентификацию по имени пользователя и паролю, пароль учетной записи, с которой вы подключаетесь. |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
tenant-id | ИД клиента при аутентификации с помощью app-id и client-secret . |
package | (Обязательно) путь к DLL- или ZIP-файлу с пакетом. |
Задачи портала
Эти задачи выполняют следующие действия в Power Pages.
upload-paportal
Данные отправок в Power Pages.
Параметр | Описание: |
---|---|
environment-url | (Обязательно) URL-адрес среды, в которую вы хотите импортировать решение (например, https://YourOrg.crm.dynamics.com ). |
app-id | ИД приложения для проверки подлинности. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
client-secret | Секрет клиента, используемый для аутентификации конвейера GitHub. Этот параметр обязательный при аутентификации с использованием учетных данных субъекта-службы. |
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.
Задачи каталога (предварительная версия)
Эти задачи выполняют действия для каталога в Power Platform и включают следующее.
Заметка
В настоящее время задачи каталога для Power Platform доступны в предварительной версии.
Установить
Установка элемента catalog в целевую среду.
Параметр | Описание: |
---|---|
catalog-item-id | (Обязательно) Элемент каталога должен быть установлен в целевой среде. |
target-url | (Обязательно) URL-адрес целевой среды для установки элемента каталога (например, "https://YourOrg.crm.dynamics.com"). |
параметры | (Обязательно) Параметры пакета среды выполнения для выполнения среды установки. Форматом строки должен быть key=value|key=value |
target-version | Целевая версия для установки. Если оставить пустым, будет выбрана опубликованная версия. |
poll-status | Выполните опрос, чтобы проверить статус вашего запроса. |
submit
Список всех опубликованных элементов каталога из текущей среды Dataverse (организация).
Параметр | Описание: |
---|---|
path | (Обязательно) Путь к документу отправки каталога. |
package-zip | Путь к ZIP-файлу пакета. |
solution-zip | Путь к ZIP-файлу решения. |
poll-status | Выполните опрос для проверки состояния запроса. |
статус
Получение состояния запроса на установку/отправку catalog.
Параметр | Описание: |
---|---|
tracking-id | (Обязательно) ИД отслеживания запроса. |
type | (Обязательно) Тип запроса (Значения: Установить, Отправить) |
Разработка бизнес-процесса GitHub
Чтобы узнать больше о создании бизнес-процессов GitHub с помощью действий GitHub, выполните GitHub Actions для лаборатории Microsoft Power Platform.
Дополнительные сведения: О About GitHub