CI/CD with the Git Integration
The SnapLogic Git Integration enables Git management of project assets from Classic Manager or with SnapLogic Public APIs. APIM 3.0 currently supports GitHub as a provider. If the Git Integration isn't set up in your environment, the following topics will help you get started:
- Git Integration overview
- How to configure GitHub and the SnapLogic environment
- How to track projects and assets
In Classic manager, you can track APIM 3.0 Services, Service versions, Policies, pipelines, files, and tasks with Git. Although you can do a few Git operations at the Service level, we suggest performing them at the version level because the implementation works with versions, not Services.
Service versions aren't available from the project tree in Classic Manager. Find the Service and click it to display all versions. Select one or more Service versions and use the Git context menu to perform operations on that version.
Supported operations
Currently, APIM 3.0 supports the following SnapLogic Git operations:
- At the Service level:
- Add to Repository stages all changes in a Service for the next commit. If a Service has multiple versions, they are all staged. However, if you create a new Service version after the initial add, you must explicitly add the new version folder to have it tracked by Git.
- Discard Changes, the equivalent of
git restore
, discards local changes and returns asset state to that of the Git repository.
- At the Service version level:
- Check Git Repository
- Add to Repository
- Remove from Repository
- Commit to Git
- Git Pull
- Untrack from Git
- Discard Changes
Limitations and known issues
In this Beta version, the Git Integration has the following limitations:
- Remove from Repository doesn't work for Services or versions.
- When using Checkout Git Repository or Git Pull to
move or update assets in a different environment, the native endpoints and policies associated with
a Service version fail to propagate to the new environment if:
- The target environment doesn't have the same relative path to those assets.
- The user performing the operation doesn't have permission for those assets in the target environment.
In either case, native endpoints become external endpoints with the upstream URL set to "https://temporary.endpoint".
- When using Checkout Git Repository or Git Pull to move or update a Service version in a different environment, you need to explicitly re-select a Server (Snaplex) in the new environment.
- The checkout of a Service fails if the Service slug is already in use in the environment.