Доступные 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, а затем использовать их в своих бизнес-процессах.

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

Параметры, которые необходимо определить в сценарии 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

См. также

GitHub Actions для Microsoft Power Platform