Skip to Content
Technical Articles
Author's profile photo Naveen Jain

S/4Hana Git-enabled CTS – Part 1 – Steps towards devops

Hello All,

In this blog i am going to talk about Git-enabled CTS which is a fiori app and available since S/4Hana 1909 onwards. I am using S/4Hana 2021 for showing gCTS Capabilities.

And how it is helping to automate ABAP objects testing and deployments.

What is Git-enabled CTS?

SAP aims to support continuous integration in an ABAP environment and to allow development processes in ABAP to be aligned with development processes that are commonly used for other development environments or languages.

This has two main components:

  • Git-based versioning, including branch and merge support
  • Options to connect your ABAP processes with continuous integration (CI) tools

This will be provided by extending the ABAP Change and Transport System (“CTS”). This new set of CTS features is referred to as “git-enabled CTS” (“gCTS”).

Git repositories will be used to store released ABAP transport requests. To configure connections between Git repositories and ABAP, and manage commits / development objects stored in these repositories, a UI is provided which offers the following:

  • Subscribe to one or more Git reposititories where ABAP content is provided for the ABAP target systems
  • Trigger updates
  • Display the system”s attributes and also the subscribed Git repositories
  • Select one of the repositories, display its attributes, and the avalable commit IDs
  • Select one of the commit IDs to update the ABAP system with the content that is necessary to bring it to exactly the selected software state, or update a system to “the latest” state
  • Configuration options:register new repositories, edit existing ones, populate a new system with initial content, delete a repository subscription


1 Git-enabled Fiori – here you can find are the dependency to enable fiori app in fiori launchpad‘F4158’)/S24OP

2. Fiori tile in FIori launchpad-

After assigning the required roles , users will be able to see fiori tile in fiori launchpad.


gCTS Tile

3. gCTS Home page


Home page of gCTS

4. Enable gCTS – All the required information such as gCTS Directory, Java Runtime, Git Client etc. information has to be provided.


Enable gCTS

5. Health check – all should be green in order to make the proper communications



Health check

6. Multiple Repository can be created from here – ABAP objects can be segregated — Waoo this is cool


You can have multiple Git Repositery and multiple vSID in your system for pushing the objects.

This is private repository where i have already having required configuration, let me go inside.

Now we are inside the Repositories where you can see all the relevant information such as GitHub url, Type, vSID, git branch, commit, configurations, activities , etc.




Now let me talk about how it is working –

Once we enabled gCTS in FIori after providing all the required information such as Gitpath, vSID etc.

Automatically S4P Transport  target would be created in the system where your fiori launchpad resides. And whatever transports are part of S4P Transport target that would be pushed in Fiori gCTS apps as well as git repository.

Note – You can give any name in my case S4P 🙂

Target in SE01 you can see when you create Transports.


S4P gCTS generated Target

Once Transport will be released , objects would be commited in gCTS fiori app as well as Github..

Waao this is cool – Automatic commit 🙂


Waao same objects in github too. once objects are available in Github, Devops guys can do further configuration they can build pipelines and take the necessary actions.



In this blog i was showing the steps how gCTS apps being used for pushing the objects to Github.

In my next blog of gCTS part 2 i will show you how to push objects manually , track activates, logs, add teams , give permissions etc.



Naveen Jain

SAP BTP/Fullstack/FIori/S/4Hana

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Maxim AFONIN
      Maxim AFONIN

      Nice starting point. Most ineresting is how to deal with conflicts in real life projects, do rollbacks and other nice git features. Withouit them value from gCTS is not high, especiall taking in considiration effort of configuration.

      I will also leave this link thac can bring some insights about gCTS from product owner: