Dostępne akcje GitHub Actions służące do tworzenia rozwiązań w Microsoft Power Platform

W poniższych sekcjach opisano GitHub Actions dla Microsoft Power Platform. W sekcjach pokazano również przykładowe przepływy pracy usługi GitHub Actions. Aby uzyskać więcej informacji na temat GitHub Actions i sposobu ich pobierania, zobacz GitHub Actions dla Microsoft Power Platform.

Konfigurowanie poświadczeń do używania z akcjami GitHub w Microsoft Power Platform

Wiele z tych akcji wymaga połączenia z środowiskiem Microsoft Dataverse. Dodaj poświadczenia jednostki usługi lub użytkownika jako sekrety w repozytorium GitHub, a następnie użyj ich w workflowach.

  • Aby uzyskać szczegółowe informacje na temat konfigurowania sekretów w GitHub, zobacz Zaszyfrowane sekrety.

  • Aby uzyskać szczegółowe informacje na temat konfigurowania uwierzytelniania jednostki usługi dla Microsoft Power Platform, zobacz DevOps Build tools.

Po skonfigurowaniu poświadczeń można wywołać service principal z poziomu skryptów akcji.

Zdefiniuj następujące parametry w skrycie akcji GitHub jako zmienne środowiskowe:

  • Identyfikator aplikacji, taki jak: WF_APPLICATION_ID:<your application id>
  • Identyfikator dzierżawy, taki jak: WF_TENANT_ID:<your tenant id>

Dodaj klucz tajny klienta jako sekret GitHub. Odwołuj się do niego z poziomu przepływu pracy przy użyciu parametru, takiego jak: client secret: ${{secrets.CLIENT_SECRET_GITHUB_ACTIONS}}

Zadania pomocnicze

Dostępne jest następujące zadanie pomocnicze.

actions-install

Gdy przepływ pracy GitHub Actions wymusza zainstalowanie Power Platform CLI w kontekście modułu uruchamiającego i wystąpi błąd przekroczenia limitu czasu, użyj wersji 1 (@v1) z dodatkową akcją (actions-install), jak pokazano w poniższym przykładzie.

Ważne

  • Użycie wersji 1 (@v1) może prowadzić do aktualizacji istniejących akcji GitHub, co może spowodować zaktualizowanie obecnych przepływów pracy.
  • Dodaj zadanie Install Power Platform Tools jako pierwsze zadanie w przepływie pracy przed innymi GitHub Actions dla platformy 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'

Więcej przykładów GitHub Actions można znaleźć na stronie Power Platform Actions.

whoAmI

Weryfikuje połączenie z usługą, łącząc się z nią i wysyłając żądanie WhoAmI [SDK/Web API]. To zadanie może być przydatne, jeśli zostanie uwzględnione na wczesnym etapie przepływu pracy GitHub, aby zweryfikować łączność przed rozpoczęciem przetwarzania.

Parametr Opis
adres URL środowiska Adres URL środowiska, z którym nawiązujesz połączenie.
user-name Nazwa użytkownika konta, którego używasz do nawiązania połączenia.
password-secret Hasło dla user-name. Zdefiniuj hasła GitHub w obszarze Ustawienia w obszarze Sekrety. Po zdefiniowaniu i zapisaniu wpisu tajnego nie można go pobrać.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
client-secret Klucz tajny klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.

Zadania związane z rozwiązaniem

Te zadania wykonują akcje na rozwiązaniach. Obejmują następujące pozycje:

import-solution

Importuje rozwiązanie do środowiska docelowego.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska docelowego, do którego chcesz zaimportować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła, podaj nazwę użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania nazwą użytkownika i hasłem, podaj hasło do konta, którego używasz do połączenia.
solution-file (Wymagane) Ścieżka i nazwa pliku rozwiązania, który ma zostać zaimportowany.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
client-secret Klucz tajny klienta służący do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.

export-solution

Powoduje wyeksportowanie rozwiązania ze środowiska źródłowego.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, z którego chcesz wyeksportować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — nazwa użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła, hasło dla użytkownika user-name. Zdefiniuj hasła GitHub w obszarze Ustawienia w obszarze Sekrety. Po zdefiniowaniu i zapisaniu sekretu nie można go pobrać.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi Service Principal.
client-secret klucz tajny klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
solution-name (Wymagane) Nazwa rozwiązania do wyeksportowania. Zawsze należy używać nazwy rozwiązania, a nie jego nazwy wyświetlanej.
solution-output-file (Wymagane) Ścieżka i nazwa pliku solution.zip, do którego ma zostać wyeksportowane środowisko źródłowe.
zarządzany (Wymagane) Ustaw wartość true, aby wyeksportować jako rozwiązanie zarządzane; wartość domyślna (false) powoduje eksportowanie jako rozwiązania niezarządzanego.

unpack-solution

Przyjmuje skompresowany plik rozwiązania i rozkłada go na wiele plików XML. Można łatwiej odczytywać te pliki i zarządzać nimi w systemie kontroli źródła.

Parametr Opis
solution-file (Wymagane) Ścieżka i nazwa pliku solution.zip do rozpakowania.
solution-folder (Wymagane) Ścieżka i folder docelowy, w którym chcesz rozpakować rozwiązanie.
solution-type (Wymagane) Typ rozwiązania do rozpakowania. Dostępne opcje to: Niezarządzane (zalecane), Zarządzane i Oba.

pack-solution

Pakuje rozwiązanie reprezentowane w kontroli wersji do pliku solution.zip, który można zaimportować do innego środowiska.

Parametr Opis
solution-file (Wymagane) Ścieżka i nazwa pliku solution.zip do spakowania rozwiązania w tym pliku (na przykład out/CI/ALMLab.zip).
solution-folder (Wymagane) Ścieżka i folder źródłowy rozwiązania do spakowania.
solution-type (Opcjonalnie) Rodzaj solucji, która ma zostać spakowana. Dostępne opcje to: Niezarządzane (zalecane), Zarządzane i Oba.

publish-solution

Publikuje dostosowania rozwiązania.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, w którym chcesz opublikować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — nazwa użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — hasło konta, z którego się łączysz.
solution-file (Wymagane) Ścieżka i nazwa pliku rozwiązania, który ma zostać zaimportowany.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi.
client-secret Klucz tajny klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.

clone-solution

Klonuje rozwiązanie dla danego środowiska.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, z którego chcesz sklonować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła, podaj nazwę użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — hasło konta, z którego się łączysz.
solution-file (Wymagane) Ścieżka i nazwa pliku rozwiązania, który ma zostać zaimportowany.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
client-secret Tajny klucz klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
solution-name (Wymagane) Ścieżka i nazwa pliku solution.zip potrzebne do sklonowania rozwiązania (na przykład out/CI/ALMLab.zip).
solution-version Wersja rozwiązania do sklonowania.
target-folder Folder docelowy, w którym ma się znaleźć rozpakowane rozwiązanie. (na przykład repozytorium Git\target-solution-folder).
Katalog roboczy Tymczasowy folder na artefakty w toku potrzebne do klonowania rozwiązania.
domyślnie: root of the repository

check-solution

Sprawdza plik rozwiązania w celu wykrycia niespójności.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, z którego chcesz sklonować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — nazwa użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — hasło konta, z którego się łączysz.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
client-secret Klucz tajny klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
ścieżka (Wymagane) Ścieżka i nazwa pliku solucji, który ma zostać sprawdzony.
obszar geograficzny Który obszar geograficzny usługi Microsoft Power Platform Checker ma być używany. Wartość domyślna to "united states".
rule-level-override Ścieżka do pliku a zawierającego tablicę JSON reguł oraz ich poziomy. Akceptowane wartości to Krytyczne, Wysokie, Niskie i Informacyjne. Przykład: [{"Id":"meta-remove-dup-reg","OverrideLevel":"Medium"},{"Id":"il-avoid-specialized-update-ops","OverrideLevel":"Medium"}]
checker-logs-artifact-name Nazwa folderu artefaktów, do którego zostaną przesłane dzienniki narzędzia Microsoft Power Platform checker. Wartość domyślna to „CheckSolutionLogs”.

upgrade-solution

Ulepsza rozwiązanie.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, z którego chcesz sklonować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — nazwa użytkownika konta, z którego się łączysz.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — hasło konta, z którego się łączysz.
solution-file (Wymagane) Ścieżka i nazwa pliku rozwiązania, który ma zostać zaimportowany.
app-id Identyfikator aplikacji używany do uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń nazwy głównej usługi.
client-secret Klucz tajny klienta służy do uwierzytelniania potoku GitHub Actions. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi (Service Principal).
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
solution-name (Wymagane) Nazwa rozwiązania do uaktualnienia.
asynchroniczny Ulepsza rozwiązanie asynchronicznie.
max-async-wait-time Maksymalny asynchroniczny czas oczekiwania w minutach. Domyślna wartość wynosi 60 minut.

Zadania pakietu

Te zadania wykonują akcje względem pakietów.

deploy-package

Wdraża pakiet DLL lub plik ZIP pakietu.

Uwaga

Ta operacja jest obsługiwana tylko w systemie Windows.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, z którego chcesz sklonować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
user-name (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła, podaj nazwę użytkownika konta, którego używasz do połączenia.
password-secret (Wymagane) Jeśli używasz uwierzytelniania za pomocą nazwy użytkownika i hasła — hasło konta, z którego się łączysz.
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń nazwy głównej usługi.
client-secret Klucz tajny klienta używany do uwierzytelniania potoku danych GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi (Service Principal).
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
pakiet (Wymagane) Ścieżka do pliku DLL lub ZIP pakietu.

Zadania w portalu

Te zadania wykonują następujące akcje względem Power Pages.

upload-paportal

Przekazuje dane do Power Pages.

Parametr Opis
adres URL środowiska (Wymagane) Adres URL środowiska, do którego chcesz zaimportować rozwiązanie (na przykład https://YourOrg.crm.dynamics.com).
app-id Identyfikator aplikacji do użycia podczas uwierzytelniania. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń jednostki usługi.
client-secret Klucz tajny klienta używany do uwierzytelniania potoku GitHub. Parametr jest wymagany podczas uwierzytelniania za pomocą poświadczeń Service Principal.
tenant-id Identyfikator dzierżawcy podczas uwierzytelniania za pomocą app-id i client-secret.
upload-path Ścieżka przechowywania zawartości witryny (alias: -p).
deployment-profile Prześlij dane portalu ze szczegółami środowiska zdefiniowanymi przez zmienne profile w pliku deployment-profiles/[profile-name].deployment.yaml.
model-version Wskazuje, czy przekazywane dane lokacji korzystają ze standardowego (1) lub rozszerzonego modelu danych (2). Wartość domyślna to 1.

Dowiedz się więcej o obsłudze Microsoft Power Platform CLI dla Power Pages.

Katalog zadań (wersja wstępna)

Te zadania wykonują akcje względem katalogu w usłudze Power Platform.

Uwaga

Obecnie zadania katalogu dla platformy Power Platform są dostępne w wersji zapoznawczej.

instalować

Zainstaluj element katalogu w środowisku docelowym.

Parametr Opis
catalog-item-id (Wymagane) Element katalogu do zainstalowania w środowisku docelowym.
target-url (Wymagane) Adres URL środowiska docelowego instalacji elementu wykazu (na przykład https://YourOrg.crm.dynamics.com).
ustawienia (Wymagane) Ustawienia pakietu środowiska uruchomieniowego umożliwiające wykonanie przez framework instalacyjny. Format ciągu wejściowego musi być następujący: key=value|key=value.
target-version Docelowa wersja do zainstalowania. Jeśli nie określisz wersji, zostanie wybrana opublikowana wersja.
poll-status Sprawdź status zgłoszenia.

prześlij

Wyświetl wszystkie opublikowane produkty katalogowe z bieżącego środowiska (organizacji) Dataverse.

Parametr Opis
ścieżka (Wymagane) Ścieżka do dokumentu zgłoszenia katalogu.
package-zip Ścieżka do pliku zip z pakietem.
solution-zip Ścieżka do pliku ZIP rozwiązania.
poll-status Sprawdź stan swojego zgłoszenia.

stan

Uzyskaj stan instalacji katalogu lub żądania przesłania.

Parametr Opis
tracking-id (Wymagane) Identyfikator śledzenia żądania.
typ (Wymagane) Typ żądania. Prawidłowe wartości to Install i Submit.

Tworzenie przepływu pracy GitHub

Aby dowiedzieć się więcej na temat tworzenia przepływów pracy GitHub przy użyciu GitHub Actions, ukończ laboratoria GitHub Actions dla Microsoft Power Platform.

Aby uzyskać więcej informacji, zobacz About GitHub Actions.

Zobacz także

GitHub Actions for Microsoft Power Platform