The GitHub integration is enabled per account. Contact Integrate.io support to turn it on, together with package JSON export (the source control feature) on the account that syncs, since Sync to GitHub exports packages. Once it’s on, Source Control appears under Settings > Account.
How It Works
Packages are committed as
packages/<name>.json. The file name comes from the package name when it’s first synced and stays the same if the package is renamed later. Secret values are never exported: package files carry secret names only.
One account syncs to a repository. Other accounts can link the same repository (for example, QA and Prod accounts in a promotion), but they are read only and can’t sync.
Requirements
- The account has the GitHub integration enabled, and the account that syncs also has package JSON export (see the note above).
- To connect, disconnect or change the repository, you need to be an account owner or admin, or have a custom role that includes the
manageGitIntegrationpermission. Other members can see the connection status. - To install the GitHub App, you need to be the owner of the GitHub account, or an owner of the GitHub organization. Organization members can request the installation, and an owner approves it.
Connect a Repository
1
Open Source Control
In Integrate.io, go to Settings > Account > Source Control.
2
Connect GitHub
Click Connect GitHub. A GitHub window opens and asks you to authorize the Integrate.io GitHub App.
- If the App is installed on exactly one GitHub account you can access, it’s linked straight away.
- If it’s installed on several, choose one under Choose a GitHub account and click Use this account.
- If it isn’t installed yet, GitHub asks you to install it. Choose the account or organization that owns the repository, select Only select repositories, pick the repository, and click Install.
3
Choose the repository
Under Repository, pick the repository from the list. If it isn’t listed, type its name (
owner/name, or a GitHub URL) and choose the Find … on GitHub row that appears in the list. If it still isn’t found, click Repository access to open the App’s settings on GitHub, add the repository there, and reload the list.4
Choose the branch
Enter the branch packages are committed to, for example
dev. You can pick an existing branch or type a new one; a new branch is created from the repository’s default branch. An empty repository first gets a README.md and an integrate-io.json on its default branch.5
Use this repository
Click Use this repository. The status changes to Connected, and the page shows the GitHub account, repository and branch.
Sync a Package to GitHub
You can sync from the package designer or from the package list.1
Open Sync to GitHub
- In the package designer, open the Import/Export menu and choose Sync to GitHub.
- In the package list, open a package’s row menu and choose Sync to GitHub.
2
Add a commit message (optional)
The dialog shows the repository and branch the package is committed to. Add a commit message if you like. If you leave it empty, the generated message is used, for example
Export from dev: customers-to-warehouse 1.6 → 1.7. The generated line is always kept in the commit.3
Confirm
Click Sync to GitHub. You see a notification when the commit is done, or that the package was already up to date.
- The last saved version of the package. Unsaved changes are not included; save first to sync them.
- For a workflow, also the packages it runs, listed before the workflow in
integrate-io.json. - An update to
integrate-io.jsonwhen the package is new to the repository.