{"id":15102638,"url":"https://github.com/microsoft/powerplatform-actions","last_synced_at":"2025-05-16T09:05:56.500Z","repository":{"id":37074958,"uuid":"285654377","full_name":"microsoft/powerplatform-actions","owner":"microsoft","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-12T21:04:58.000Z","size":40511,"stargazers_count":239,"open_issues_count":34,"forks_count":75,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-05-15T00:08:35.124Z","etag":null,"topics":["github-actions","powerplatform"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-06T19:28:51.000Z","updated_at":"2025-05-12T10:04:32.000Z","dependencies_parsed_at":"2024-06-25T20:57:14.003Z","dependency_job_id":"6855e742-f24a-46a1-8431-d72abbb62f92","html_url":"https://github.com/microsoft/powerplatform-actions","commit_stats":{"total_commits":375,"total_committers":27,"mean_commits":13.88888888888889,"dds":0.7226666666666667,"last_synced_commit":"3a5451d06553d8b1fbc14b22bf80747563a93b7e"},"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpowerplatform-actions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpowerplatform-actions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpowerplatform-actions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fpowerplatform-actions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/powerplatform-actions/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249206,"owners_count":22039029,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","powerplatform"],"created_at":"2024-09-25T19:03:42.338Z","updated_at":"2025-05-16T09:05:51.492Z","avatar_url":"https://github.com/microsoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Power Platform Actions\n\nThis repo provides multiple [GitHub Actions for the Power Platform](https://aka.ms/PowerPlatformGitHub); for more general info on [GitHub Actions](https://help.github.com/en/actions).\nEach action wraps the existing [Power Platform CLI](https://aka.ms/PowerPlatformCLI).\n\nDetailed documentation on GitHub actions for Power Platform is available [here](https://aka.ms/poweractionsdocs).\n\nSample workflows and detailed instructions are available in our [GitHub actions lab repo](https://github.com/microsoft/powerplatform-actions-lab)\nbut if you are already familiar with GitHub actions and Power Platform solutions, simply add below to your existing workflows;\nalso add the secret `MYPASSWORD` to your repository's 'Settings' | 'Secrets'\n\n```yaml\njobs:\n  build:\n\n    runs-on: windows-latest   # alternate runner OS is: ubuntu-latest\n\n    steps:\n    - name: Install Power Platform Tools\n      uses: microsoft/powerplatform-actions/actions-install@v1\n\n    - name: Export Solution\n      uses: microsoft/powerplatform-actions/export-solution@v1\n      with:\n        environment-url: 'https://myenv.crm.dynamics.com'\n        user-name: 'me@myenv.onmicrosoft.com'\n        password-secret: ${{ secrets.MYPASSWORD }}\n        solution-name: aSolution\n        solution-output-file: 'aSolution.zip'\n        working-directory: 'out'\n\n    - name: Unpack Solution\n      uses: microsoft/powerplatform-actions/unpack-solution@v1\n      with:\n        solution-file: 'out/aSolution1.zip'\n        solution-folder: 'out/solutions/solution one'\n        solution-type: 'Unmanaged'\n        overwrite-files: true\n\n    - name: Publish Solution\n      uses: microsoft/powerplatform-actions/publish-solution@v1\n      with:\n        environment-url: 'https://myenv.crm.dynamics.com'\n        user-name: 'me@myenv.onmicrosoft.com'\n        password-secret: ${{ secrets.MYPASSWORD }}\n\n    - name: Prepare solution changes for check-in into source control\n      uses: microsoft/powerplatform-actions/branch-solution@v1\n      with:\n        solution-folder: 'out/solutions/solution one'\n        solution-target-folder: 'src/solutions/solution1'\n        token: ${{ secrets.GITHUB_TOKEN }}\n```\n\n[![pull-request-validation](https://github.com/microsoft/powerplatform-actions/actions/workflows/pull-request.yml/badge.svg)](https://github.com/microsoft/powerplatform-actions/actions/workflows/pull-request.yml)\n\n## Contributing\n\nThis project will welcome community contributions in the near future. For suggestions and ideas, please use the [Issues section](https://github.com/microsoft/powerplatform-actions/issues) of this repo.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Setting Up Dev Environment\n\nWindows, macOS or Linux:\n\n- [Node.js LTS (currently v12)](https://nodejs.org/en/download/)\n- gulp CLI: ```npm install -g gulp-cli```\n- [git](https://git-scm.com/downloads)\n- [VS Code](https://code.visualstudio.com/Download) or your different favorite editor\n- recommended VSCode extensions:\n  - [EditorConfig for VS Code (editorconfig.editorconfig)](https://github.com/editorconfig/editorconfig-vscode)\n  - [ESLint (dbaeumer.vscode-eslint)](https://github.com/Microsoft/vscode-eslint)\n  - [GitLens (eamodio.gitlens)](https://github.com/eamodio/vscode-gitlens)\n  - [markdownlint (davidanson.vscode-markdownlint)](https://github.com/DavidAnson/vscode-markdownlint)\n  - [Mocha sidebar (maty.vscode-mocha-sidebar)](https://github.com/maty21/mocha-sidebar)\n- TEMPORARY:\n  - Create a PAT for the Azure DevOps org ```msazure``` with scope: package(read) and add it as local environment variable.\n  ```Powershell\n  [Environment]::SetEnvironmentVariable('AZ_DevOps_Read_PAT', '\u003cyourPAT\u003e', [EnvironmentVariableTarget]::User)\n  ```\n  - Create a [PAT in GitHub](https://github.com/settings/tokens) to read packages, and enable SSO for the microsoft organization.\n  Then add it to your *~/.npmrc* file or use the `npm login --scope=@microsoft --registry=https://npm.pkg.github.com` command,\n  as documented [here](https://docs.github.com/en/packages/guides/configuring-npm-for-use-with-github-packages#authenticating-with-a-personal-access-token).\n  This will only be needed until the `@microsoft/powerplatform-cli-wrapper` repo is made public.\n\nIf developing on Linux or macOS, you will also need to install `git-lfs`.  (It is prepackaged with the Git installer for Windows.)\nFollow the [instructions here](https://docs.github.com/en/github/managing-large-files/installing-git-large-file-storage) for your environment.\n\n## Getting Started\n\nClone, restore modules, build and run:\n\n```bash\ngit clone https://github.com/microsoft/powerplatform-actions.git\ncd powerplatform-actions\nnpm install\ngulp\n```\n\n## Refreshing actions in dist folder\n\nIn a clean working directory, run ```npm run update-dist``` and commit and push only the updates in the ```./dist``` folder.\n\nIf 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\n```bash\ngit ls-tree HEAD dist/pac_linux/tools/pac\n```\nand check that the leftmost value should be `100755`.  Example output:\n```bash\n100755 blob 00034fe2fe80faca43030481877760674409d739    dist/pac_linux/tools/pac\n```\nIf the file mode does not match, run\n```bash\ngit update-index --chmod=+x dist/pac_linux/tools/pac\n```\nprior to commiting the changes.\n## Details\n\n[CLI command for pac](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/powerapps-cli#solution)\n\n## References\n\n### ADAL/MSAL\n\n### CustomerEngagement API\n\n- [WebAPI](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/overview)\n- [WebAPI REST API](https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/about?view=dynamics-ce-odata-9)\n- [OrgService](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/org-service/overview)\n- [Org url discovery](https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/webapi/discover-url-organization-web-api)\n\n### Power Platform Environment Admin (BAP)\n\n- [Environments Overview](https://docs.microsoft.com/en-us/power-platform/admin/environments-overview)\n\n### How to make GitHub Actions and Build Tools compatible with latest PAC CLI?\n\n[Please refer steps in Cli-Wrapper](https://github.com/microsoft/powerplatform-cli-wrapper/blob/main/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpowerplatform-actions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fpowerplatform-actions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpowerplatform-actions/lists"}