Overview
Integrating Power Automate with GitHub enables Continuous Integration and Continuous Deployment (CI/CD) automation, helping teams streamline development workflows, automate testing, and deploy updates efficiently.
Trigger workflows on code commits and pull requests
Automate testing, builds, and deployments
Send real-time notifications on GitHub activity
Integrate with Azure DevOps, Power Platform, and other services
1️⃣ Key Use Cases for Power Automate and GitHub
🔹 Automate Code Review Notifications → Notify teams on new PRs/issues
🔹 Trigger Automated Tests → Run tests when code is pushed
🔹 Deploy Power Apps Solutions → Automatically publish solutions
🔹 Sync GitHub Issues with Work Tracking → Create work items in Jira, DevOps
🔹 Monitor Repository Activity → Log commits, releases, and merges in a database
Example: When a developer pushes new code to GitHub, Power Automate:
- Runs automated tests
- Deploys the solution
- Notifies team members in Teams/Slack
2️⃣ Setting Up Power Automate with GitHub
Step 1: Connect Power Automate to GitHub
1️⃣ Go to Power Automate → https://make.powerautomate.com
2️⃣ Click Create → Choose Automated Cloud Flow
3️⃣ Select GitHub as the trigger service
4️⃣ Choose a trigger (e.g., “When a new commit is pushed to a repository”)
5️⃣ Authenticate GitHub and grant permissions
Tip: Use a GitHub Personal Access Token (PAT) if needed for secure API access.
3️⃣ Automating CI/CD with Power Automate
Scenario 1: Notify Teams on GitHub Pull Requests
Use Case: When a new pull request (PR) is created, send a Teams/Slack notification for review.
Steps:
1️⃣ Trigger: “When a pull request is created” in GitHub
2️⃣ Condition: Check if the PR is from a specific branch (e.g., main
or dev
)
3️⃣ Action: Send a Teams/Slack message with PR details
Example Power Automate Flow:
- Trigger: New PR on GitHub
- Condition: Check if PR is targeting the
main
branch - Action: Send a Teams message with reviewer tags and PR link
Scenario 2: Automate Testing on New Code Commits
Use Case: When a developer pushes code to GitHub, trigger automated unit tests.
Steps:
1️⃣ Trigger: “When a commit is pushed to GitHub”
2️⃣ Action: Call Azure DevOps / GitHub Actions API to start tests
3️⃣ Action: Send a notification if tests fail
🔹 Example API Call to Start Tests:
Use the GitHub API or Azure DevOps REST API to trigger test execution:
{
"repository": "myrepo",
"commit": "abcd1234",
"testType": "unit"
}
Tip: Use Power Automate’s HTTP action to call APIs.
Scenario 3: Deploy a Power Platform Solution on GitHub Push
Use Case: When a new commit is pushed to a GitHub repository, deploy a Power Apps solution automatically.
Steps:
1️⃣ Trigger: “When code is pushed to GitHub”
2️⃣ Action: Export Power Apps solution from Dev
3️⃣ Action: Import solution to Test/Production environment
Example Flow:
- Trigger: Code push to
main
branch - Action: Call Power Platform Build Tools
- Action: Deploy solution to target environment
Tip: Use Power Platform ALM (Application Lifecycle Management) APIs for deployment.
Scenario 4: Create GitHub Issues from Power Automate
Use Case: Automatically create GitHub issues when errors occur in Power Automate or Power Apps.
Steps:
1️⃣ Trigger: Error occurs in Power Automate (using Run History)
2️⃣ Action: Create a GitHub issue with error details
3️⃣ Action: Notify the developer via Teams/Email
Example API Call to GitHub:
{
"title": "Flow Failure: Unable to connect to SharePoint",
"body": "Error details: Connection timeout on 03/05/2025",
"labels": ["bug", "urgent"]
}
Tip: Use GitHub’s REST API (/repos/{owner}/{repo}/issues
) to create issues.
4️⃣ Best Practices for Power Automate & GitHub Integration
✔️ Use Environment Variables → Store GitHub credentials securely
✔️ Monitor Execution Logs → Use Run History to debug issues
✔️ Limit API Calls → Use batch processing to avoid rate limits
✔️ Use Webhooks for Real-Time Triggers → Instead of polling for changes
✔️ Secure Access with OAuth & GitHub Secrets
Example: Use GitHub Secrets to store API tokens securely.