Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
kamlesh_zanje
Product and Topic Expert
Product and Topic Expert
251

Introduction 

SAP Cloud Integration version 6.80/(8.x --> 8.44 ), one of the capabilities of SAP Integration Suite, comes with a feature which will allow you to integrate the GitHub to the integration suite to perform the basic GitHub operations on the design time integration artifacts. To know more, you can refer the help documentation.

In this blog post, you will understand the detailed aspects of this feature, Why, What, its objectives, principles and how to leverage in the Cloud integration capability of the integration suite.

Why GitHub integration is essential?

  • No GitHub integration in the Integration Suite for collaborative development, track changes, storage, backup, or recovery.
  • Users must manually download and upload artifacts in GitHub, causing media breakage.
  • Manual process is slow, error-prone, and impacts version control, reducing productivity for effective collaborative developments.

What is GitHub Integration?

  • Integrates Integration Suite with GitHub for secure repository connection, Git authentication, and operations directly in-app.
  • Streamlines artifact management, reduces errors, enhances version control, and supports collaborative developments and CI/CD compatibility.

Benefits/Value proposition

  • Collaboration: Streamlined teamwork via branches and pull requests
  • Seamless Integration : No media breakage between Integration suite and GitHub
  • Governance : Github repositories maintained in Integration suite via Tenant administrator
  • DevOps: Enables CI/CD automation
  • Backup: Secure storage for artifacts with easy recovery.
  • Distributed: Work locally and sync changes.
  • Rollback: Revert to previous versions quickly.
  • Traceability: Track changes for auditing.
  • Scalability: Supports large and distributed teams.
  • Security: Protect artifacts with permissions and authentication.

Availability

GitHub integration in the integration suite for cloud integration capability is available in the trial, standard and above/higher editions.

How to leverage?

Let me explain the workflow and steps into two parts.

  • How to Successfully Configure GitHub Repositories for Cloud Integration?
  • How to successfully import/clone, push, Pull the integration artifacts from/to Github?

How to Successfully Configure GitHub Repositories for Cloud Integration?

To integrate GitHub repositories successfully, follow these easy steps:

Prerequisites:

  1. Ensure your account has a Tenant Admin role (refer to Cloud Integration documentation if unsure).
  2. Generate a Personal Access Token (PAT) with the required permissions for the repositories.

How to Create a Personal Access Token (PAT):

  1. Log in to GitHub, go to Settings -- >  Developer Settings -- > Personal Access Tokens.
  2. Choose Fine-Grained or Classic Tokens and click Generate New Token. Set an expiry for the token.

Simple Setup Steps:

  1. In the Cloud Integration portal, navigate to Settings -- > Integrations -- > Git Access.
  2. Click Edit in the Repository Details table and select Add to set up a new repository.
  3. Enter your PAT and GitHub repository URL.
  4. Click Connect to link the repository (Name and Description will auto-fill).
  5. Click Add to save the repository details in the table.

Notes:

  • You can integrate up to 50 repositories.
  • Make sure to click Save after completing all configurations.

Follow these steps to configure your GitHub repositories for seamless Cloud Integration!

INT settings Git page 1.png

View Github Repostories

INT settings Git page 2.png

Add Github Repository

INT settings Git page 3.png

Edit Github Repository 

How to successfully import/clone, push, Pull the integration artifacts from/to Github?

  • Git Import use case & experience 
  • Git Push use case & experience
  • Git Pull use case and experience

Git Import use case & experience 

Prerequisites:

  • Ensure Git repositories are configured by the tenant admin.
  • Have a Personal Access Token (PAT) with permission for the repositories.

Steps for Importing Integration Flows:

  1. In the Design section, go to Integration Packages.
  2. Select an integration package and click Edit.
  3. Open the Artifacts tab and select Add Integration Flow.
  4. Choose Add Integrations Manually (requires Premium plan).
  5. Use Git Import to import the flow:
    • Enter your PAT.
    • Select a repository and branch.
    • Choose the desired flow and click Add or Add and Open in Editor.

Outcome:
The flow is imported into the integration package, enabling Git operations like push and pull for collaboration and version control

design workspace page1.png

design workspace page2.png

Add Integration flow from Github repository, branch

Git Push use case & experience

Git Push lets you upload local changes from an integration artifact to a connected remote Git repository, ensuring your repository is fully updated for collaboration and version control.

Prerequisites Before Git Push:

  • Configured Repository: Your admin should set up the necessary repositories (see Git Access guide for details).

  • Access Permissions: Have the right permissions and a Personal Access Token (PAT) ready.

Steps to Push Changes:

  1. Navigate to Integration Packages: Go to Design > Integrations and APIs to find the list of integration packages.

  2. Select the Package: Choose the package with the artifact you want to push and click Artifacts.

  3. Start Git Push: Click the ... (triple dot) icon on the artifact and select Git Push.

  4. Fill in the Details:

    • Add your PAT for authentication.

    • Choose the repository name and branch.

  5. Commit Message: Enter a clear message describing your changes.

  6. Push Changes: Click Push to upload updates to the remote repository.

Key Notes:

  • The repository will be updated with the latest version of your artifact.

  • Ensure branch and repository details are correct to avoid errors or conflicts.

design workspace page6.png

Git Push operation to push the local changes to the Github repository, branch

Git Pull use case and experience

Git Pull updates your local files by fetching and merging the latest changes from a remote Git repository, keeping everything in sync.

Before You Start

  1. Ensure repositories are set up by the administrator (Check Git Access documentation).
  2. Git Pull works only for imported artifacts.
Steps to Perform Git Pull
  1. Open Integration Packages:
    Go to Design -- > Integrations and APIs to find integration packages.
  2. Select a Package:
    Click on the package and then choose Artifacts to view its contents.
  3. Use Git Pull:
    Find the artifact to update and click the Git Pull icon.
  4. Verify Details:
    Confirm the displayed artifact info and enter your Personal Access Token (PAT).
  5. Finish Up:
    Click Pull to update your local artifact with the latest changes.

This helps you easily keep your files updated for smooth collaboration.

design workspace page4.pngdesign workspace page5.png

Git Pull operation to pull the latest changes from the Github repository, branch

FAQs

  1. Supported Integration Artifacts: Basic Git operations are supported for Integration Flows in the initial release.
  2. Available Editions: GitHub integration is available in the Trial, Standard, and higher editions of the Integration Suite.
  3. Repository Limit: You can add up to 50 GitHub repositories in the integration settings.
  4. Impact of Removing Repositories: Removing repositories from the integration settings has no effect on integration flows—they remain in the design workspace and GitHub, if previously pushed. However, the integration flow will be de-linked from GitHub.
  5. Supported Platforms: Only GitHub on the cloud is supported on-premise GitHub is not.
  6. Supported Cloud Platform : GitLab.
  7. Authentication: GitHub operations are supported through PAT tokens only.
  8. PAT Token Persistence: PAT tokens are not store, you must manually provide one for each GitHub operation.
  9. Repository Descriptions: Descriptions for GitHub repositories can be set during creation on GitHub and will be visible when imported into the Integration Suite.
  10. Differentiate local and remote changes: Github repository name, branch name is tagged to the integration flow available in the remote branch. Integration flow is tagged in the design workspace and monitoring view(for deployed artifact).

What’s coming next?

  • Introduce CRUD functionality for user Personal Access Tokens (PAT).
  • Add support for more authentication types and cloud platforms like GitLab.
  • Extend compatibility with on-premise GitHub repositories.
  • Enhance Git operations like import, push, pull for the remaining integration artifacts.
  • Implement conflict resolution tools (graphical/text editor) for integration artifacts and resources.
  • Support multi-branch management for integration artifacts.
  • Enable public OData Remote APIs for CI/CD processes.
  • Expand Git support for integration packages.

Other source of material

I hope you find the feature in this blog post beneficial. If you have any questions or feedback, please leave a comment.

2 Comments