abapGit is a central part of the Steampunk product, but what is so special about it?
You need to create a report, paste the source of zabapGit in it, activate it, and run it. That would be the typical approach outside of Steampunk. In Steampunk, SAP uses the zabapGit sources transformed from Z- to SAP-namespace, and these are, with some Steampunk-specific adjustments, part of the core of the Steampunk product.
Is it then possible to execute abapGit in Steampunk like in on-premise systems by calling the transaction?
No, Steampunk doesn't support SAP Dynpro technology, the abapGit's UI's underlying technology. That was one of the main reasons we created the abapGit ADT plugin to enable Steampunk users to use abapGit. The abapGit ADT plugin has worked with every Steampunk system and the ABAP Development Tools (ADT) since Steampunk's general availability. It's developed open-source and maintained by a few ADT developers, and it's not yet feature-complete compared to the abapGit Dynpro UI. But we're working on it.
abapGit ADT Plugin
A separate layer is needed to connect the plugin with the abapGit core functionality, as all the ADT plugins communicate over HTTP calls with their respective endpoints. Hence, we need an additional endpoint for the abapGit plugin. This layer is an extension to the current abapGit sources and enables abapGit to react to incoming HTTP calls. The abapGit ADT REST layer empowers abapGit with many possibilities to interact with tools other than SAP GUI or ADT. Consequently, we decided to open source the abapGit ADT REST layer and let the enormous abapGit community participate in our development. Unfortunately, we couldn't name it like abapGit ADT REST due to legal and branding restrictions, so we decided to use a project name to keep the confusion as low as possible.
We are planning to update the sources regularly as soon as we have some changes or bugfixes. Unfortunately, the sources are in SAP-namespace and could not be imported in systems with development or customer user licenses. The intention behind open sourcing the abapGit ADT REST layer was to provide a blueprint for the ABAP community.
While reading through all of this text, you recognized that abapGit consists of three vital parts in Steampunk:
abapGit ADT REST
abapGit ADT plugin
In the below picture, you'll find a more technical view of how everything is connected.
Technical representation of abapGit Parts in Steampunk
We're very curious to see what cool stuff the abapGit community will do with Project Odense. Just thinking of all the possibilities like ABAP tooling for code editors outside ADT, integration pipelines for abapGit/abapLint, a tighter coupling of abapLint services, we’re excited.