Forum Discussion
SnapLogic integration with GitHub is at the project level, a project in SnapLogic maps to a unique repository in GitHub. There is a limit of 200 assets in one version-controlled SnapLogic project, this is in place to avoid performance issues when syncing projects. The projects need to be organized accounting for these two restrictions.
The workflow we have used internally in SnapLogic is
- Create a project in the development org, checkout the repo from the develop branch (this is done in the SnapLogic Manager). In the production org, checkout the repo from main branch.
- Make pipeline changes in the development project (in Designer), commit changes into GitHub (from the Manager)
- Merge develop branch into the main branch based on the production release schedule. This has to be done outside of SnapLogic, directly in GitHub UI or through git CLI.
- Pull the main branch changes into the production project. This can be done through the Manager or through the public API
Using dynamic accounts, with the env specific values in an expression library allows pipelines with accounts to work across orgs. The accounts can be checked into GitHub or they can be left as untracked assets, in which case the required accounts will have to be created manually in each org.
It is also possible to include peer reviews for project updates. That would require the pipeline developer to create a private branch off develop, checkout a project referencing the private branch and checkin the pipeline changes to the branch. Review requests can be generated between the private branch and develop before the updates are merged into develop branch. The review will show diffs with pretty printed JSON, which works reasonably well. Including pipeline screenshot helps with reviews.
Thanks Ajay,
Sounds like we are on the right sort of track then