Insights & updates from our experts
GitHub Sync
This GitHub sync feature enables you to move solutions or solution changes from one environment to another.
Syncing iPaaS Solutions with GitHub
Use the Xurrent iPaaS GitHub App to manage iPaaS solutions in GitHub. It synchronizes and promotes changes across multiple iPaaS environments (for example: QA EU, QA US, Prod EU, Prod US) automatically whenever you push to a configured branch.
How it works
Each region and stage (QA, Production) has its own dedicated GitHub App. You install the required apps on your GitHub organization and grant them access to the repositories that contain your iPaaS solutions.
When you push changes to a branch that is linked to an iPaaS solution:
- GitHub sends a webhook to the corresponding iPaaS environment
- iPaaS imports the latest version of the solution
- If validation succeeds, the solution is automatically promoted
- If validation fails (for example, missing environment variables), the update is saved as a Draft, which you can complete in the iPaaS UI
A common setup is:
mainbranch → staging/integration branch used for developmentqabranch → synced to all QA environmentsprodbranch → synced to all Production environments
Prerequisites
Before you begin, ensure you have:
- Access to an iPaaS instance with permission to create and edit solutions
- Permission to create repositories in a GitHub organization
- GitHub organization admin access (required to install GitHub Apps at organization level)
For more details, see GitHub's documentation on Installing a GitHub App.
Step 1 — Create a solution in iPaaS
Create a new solution in your iPaaS instance as usual. This initial version will become the baseline for version control in GitHub.
Step 2 — Export the solution
From the solution page in iPaaS:
- Export the solution as a
.zipfile - This file contains the full solution definition and configuration
Step 3 — Prepare your local repository
On your local machine:
- Create a new folder for the solution
- Unzip the exported file into this folder
- Add a
.gitignorefile to exclude unnecessary system and temporary files from version control. You can use the recommended template provided in Appendix A — .gitignore template for iPaaS solutions. - (Optional) Add a
README.mddescribing the solution and its environments
Your repository should contain:
- The extracted iPaaS solution files
.gitignorefile- Optional:
README.md
Appendix A — .gitignore template for iPaaS solutions:
# Editors / IDEs
.idea/
.vscode/
*.swp
*.swo
# OS
.DS_Store
Thumbs.dbStep 4 — Create a GitHub repository
Create a new repository in GitHub for the solution.
- Recommended: one repository per iPaaS solution
- Visibility: private, internal, or public (all are supported)
Step 5 — Push the initial code
From inside your local directory, initialize the repository and push the initial version to the staging (main) branch.
This initial commit establishes the base version of the solution and does not directly deploy to QA or Production environments.
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin <repository-url>
git push -u origin mainThis creates the main branch as the staging branch, which will later be used to promote changes to qa and prod through pull requests.
Step 6 — Install the iPaaS GitHub App
Install the appropriate GitHub App for each environment (region + stage) you want to sync with. Each environment uses a dedicated app, so you manage access to each one independently.
QA apps use a green iPaaS logo so you can recognize them.
QA Table :
Production Table :
The apps are not yet listed on the GitHub Marketplace, so install them directly using the URLs above.

During installation, GitHub prompts you to choose which repositories the app can access. Select Only select repositories and grant access only to repositories that contain iPaaS solutions.

Only allowing the apps access to selected repositories:
- Cuts unnecessary webhook traffic
- Limits the app's access to relevant repositories
- Improves security and access control
You can modify the list of authorized repositories at any time from your GitHub settings.
Step 7 — Grant the app access to the repository
If you have already installed the iPaaS GitHub App and are adding a new solution repository:
- Open your GitHub organization or personal account settings
- Navigate to Installed GitHub Apps
- Select the appropriate iPaaS GitHub App for each environment
- Add the new repository to the app's Selected repositories list
- Click on Install
Each environment-specific app that should synchronize the solution must have access to the repository.
For example, if a solution is deployed to:
- QA environments in all regions, and
- Production environments in all regions,
then all QA and Production GitHub Apps must be granted access to the repository.
Step 8 — Configure the solution in iPaaS
Repeat the following steps for each iPaaS environment (every region and stage combination) where the solution needs to be synchronized:
- Open the solution's Edit page in iPaaS
- Provide the following details:
- GitHub repository
- Branch name for the respective stage:
qafor QA environmentsprodfor Production environments
- Click Test GitHub Connection to verify:
- The correct GitHub App is installed
- The app has access to the specified repository
- Save the solution configuration

Note: The branch does not need to exist in GitHub at this point. It will be created and pushed in the next step.
Step 9 — Create and push the stage branch
Create and push the environment branches that match the branch names configured in iPaaS.
Example:
git checkout -b qa
git push -u origin qa
git checkout main
git checkout -b prod
git push -u origin prodAfter pushing the branches, wait a few moments and refresh the solution edit page in iPaaS. Synchronization occurs asynchronously, so there may be a short delay before the update appears.
Once synchronization is complete, you should see:
- The latest commit SHA received from GitHub
- A status message indicating whether synchronization succeeded or failed

Step 10 — Make updates in iPaaS
Make changes to the solution in iPaaS using the Draft version.
Use Send shipment to validate the changes before exporting the solution.
Optional (if required):
- Extract blueprint
- Promote configuration
- Provision updates
Step 11 — Export the updated solution
Once validation is complete:
- Export the solution as a
.zipfile from iPaaS
Step 12 — Commit changes to GitHub
Unzip the exported solution into your local repository and commit the changes to the staging branch (main).
git add .
git commit -m "Update solution"
git push origin mainStep 13 — Promote to QA (via Pull Request)
In GitHub:
- Create a Pull Request:
main → qa - Request review and approval from a colleague
- Merge the Pull Request
Merging triggers iPaaS synchronization to all QA environments.
Step 14 — Validate QA deployment
Verify in iPaaS QA environments:
- Solution is synced successfully
- Changes are promoted correctly
- Any provisioning is completed as expected
Step 15 — Promote to Production
After QA validation, in GitHub:
- Create a Pull Request:
qa → prod - Get approval from a reviewer
- Merge the Pull Request
Merging triggers synchronization to all Production environments.
Step 16 — Validate Production deployment
Confirm in Production iPaaS environments:
- Sync completed successfully
- Solution promoted correctly
- Provisioning executed as expected
Why was my solution not promoted?
If validation fails, the imported version is saved as a Draft so you can complete any required configuration in the iPaaS UI.
Examples of validation issues include:
- Missing environment variable values
- Incomplete configuration settings
- Invalid references or mappings
Once you complete the required changes in iPaaS, you can promote the solution as usual.





.webp)
%20(1).webp)



.jpg)












