Power Platform GitHub Actions automate common build and deployment tasks related to Power Platform. This includes synchronization of solution metadata (a.k.a. solutions) between development environments and source control, generating build artifacts, deploying to downstream environments, provisioning/de-provisioning of environments, and the ability to perform static analysis checks against your solution using the PowerApps checker service.
Перейти к файлу
Ved Garbha 74c820e852 update-dist modfied changes 2023-04-21 01:20:55 +05:30
.azure-pipelines move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
.github Enable Dependabot Updates (#286) 2023-04-03 22:49:38 -07:00
.vscode Assign group task (#257) 2023-01-11 12:37:56 -06:00
add-solution-component move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
assign-group Assign group task (#257) 2023-01-11 12:37:56 -06:00
assign-user Assign group task (#257) 2023-01-11 12:37:56 -06:00
backup-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
branch-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
build add 3rd party notices and post-processing script (#160) 2021-12-21 10:36:48 -08:00
check-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
clone-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
copy-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
create-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
delete-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
delete-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
deploy-package move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
dist update-dist modfied changes 2023-04-21 01:20:55 +05:30
download-paportal move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
export-data move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
export-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
hands-on-lab move HandsOnLab's media files into LFS, (#29) 2020-10-26 18:24:59 -07:00
import-data move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
import-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
install-application move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
pack-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
publish-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
reset-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
restore-environment move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
src paportal upload action changes 2023-04-20 15:19:51 +05:30
unpack-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
update-solution-version move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
upgrade-solution move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
upload-paportal paportal upload action changes 2023-04-20 15:19:51 +05:30
who-am-i move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
.editorconfig setting up repo 2020-09-13 18:31:36 -07:00
.eslintrc.js merge 3 actions into this repo; enable CI workflow (#1) 2020-09-14 07:48:18 -07:00
.gitattributes Moving binaries to Git LFS (#61) 2021-03-22 11:53:32 -07:00
.gitignore updated to current version of cli-wrapper 2021-04-29 15:08:57 -07:00
.npmrc document how to call npm login 2022-03-30 14:06:40 -07:00
CODE_OF_CONDUCT.md Initial CODE_OF_CONDUCT.md commit 2020-08-06 12:29:02 -07:00
LICENSE Initial LICENSE commit 2020-08-06 12:29:03 -07:00
NOTICE.txt add 3rd party notices and post-processing script (#160) 2021-12-21 10:36:48 -08:00
PRIVACY.md add privacy notice for telemetry 2020-08-11 13:53:26 -07:00
README.md Deprecate usage of targetVersion parameter for export-solution and clone-solution. (#211) 2022-05-04 15:35:47 -07:00
SECURITY.md Initial SECURITY.md commit 2020-08-06 12:29:05 -07:00
action.yml move to nodejs v16 (#256) 2022-11-08 15:02:20 -08:00
gulpfile.js December refresh (#276) 2023-01-26 14:04:35 -08:00
package-lock.json updated powerplatform-cli-wrapper version 2023-04-21 01:18:13 +05:30
package.json updated powerplatform-cli-wrapper version 2023-04-21 01:18:13 +05:30
scorch setting up repo 2020-09-13 18:31:36 -07:00
scorch.cmd setting up repo 2020-09-13 18:31:36 -07:00
tsconfig.json merge 3 actions into this repo; enable CI workflow (#1) 2020-09-14 07:48:18 -07:00

README.md

Power Platform Actions

This repo provides multiple GitHub Actions for the Power Platform; for more general info on GitHub Actions. Each action wraps the existing Power Platform CLI.

Detailed documentation on GitHub actions for Power Platform is available here.

Sample workflows and detailed instructions are available in our GitHub actions lab repo but if you are already familiar with GitHub actions and Power Platform solutions, simply add below to your existing workflows; also add the secret MYPASSWORD to your repository's 'Settings' | 'Secrets'

jobs:
  build:

    runs-on: windows-latest   # alternate runner OS is: ubuntu-latest

    steps:
    - name: Export Solution
      uses: microsoft/powerplatform-actions/export-solution@v0
      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'

    - name: Unpack Solution
      uses: microsoft/powerplatform-actions/unpack-solution@v0
      with:
        solution-file: 'out/aSolution1.zip'
        solution-folder: 'out/solutions/solution one'
        solution-type: 'Unmanaged'
        overwrite-files: true

    - name: Publish Solution
      uses: microsoft/powerplatform-actions/publish-solution@v0
      with:
        environment-url: 'https://myenv.crm.dynamics.com'
        user-name: 'me@myenv.onmicrosoft.com'
        password-secret: ${{ secrets.MYPASSWORD }}

    - name: Prepare solution changes for check-in into source control
      uses: microsoft/powerplatform-actions/branch-solution@v0
      with:
        solution-folder: 'out/solutions/solution one'
        solution-target-folder: 'src/solutions/solution1'
        token: ${{ secrets.GITHUB_TOKEN }}

pull-request-validation

Contributing

This project will welcome community contributions in the near future. For suggestions and ideas, please use the Issues section of this repo.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Setting Up Dev Environment

Windows, macOS or Linux:

If developing on Linux or macOS, you will also need to install git-lfs. (It is prepackaged with the Git installer for Windows.) Follow the instructions here for your environment.

Getting Started

Clone, restore modules, build and run:

git clone https://github.com/microsoft/powerplatform-actions.git
cd powerplatform-actions
npm install
gulp

Refreshing actions in dist folder

In a clean working directory, run npm run update-dist and commit and push only the updates in the ./dist folder.

If you have updated the Linux PAC package version (especially from a Windows host), double check that the pac executable has the execute flag set. Run

git ls-tree HEAD dist/pac_linux/tools/pac

and check that the leftmost value should be 100755. Example output:

100755 blob 00034fe2fe80faca43030481877760674409d739    dist/pac_linux/tools/pac

If the file mode does not match, run

git update-index --chmod=+x dist/pac_linux/tools/pac

prior to commiting the changes.

Details

CLI command for pac

References

ADAL/MSAL

CustomerEngagement API

Power Platform Environment Admin (BAP)

How to make GitHub Actions and Build Tools compatible with latest PAC CLI?

Please refer steps in Cli-Wrapper