-
Notifications
You must be signed in to change notification settings - Fork 56
[Feature Request] Add gCTS (git-enabled Change and Transport System) tools #39
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
gCTS (git-enabled Change and Transport System) enables Git-based CI/CD workflows for ABAP development. It allows branch-based development, automated deployments across SAP landscapes, and integrates ABAP transport management with Git repositories.
Adding gCTS tools to vibing-steampunk would enable LLM-assisted CI/CD pipelines, multi-system deployment orchestration, and branch management strategies for ABAP — all via the standard SAP REST API.
Proposed tools (10)
All endpoints use the base path /sap/bc/cts_abapvcs.
| # | Tool name | Method | Endpoint | Description |
|---|---|---|---|---|
| 1 | GctsListRepositories |
GET | /repositories |
List all gCTS repositories registered on the system |
| 2 | GctsGetRepository |
GET | /repositories/{id} |
Get detailed info for a specific repository (URL, branch, status, config) |
| 3 | GctsCreateRepository |
POST | /repositories |
Register a new repository (body: rid, name, url, branch, package, role) |
| 4 | GctsDeleteRepository |
DELETE | /repositories/{id} |
Unregister a repository from the system |
| 5 | GctsCloneRepository |
POST | /repositories/{id}/clone |
Clone a registered repository to deploy its content |
| 6 | GctsPull |
GET | /repositories/{id}/pullByCommit?request={commitId} |
Pull a specific commit into the system (deploy a version) |
| 7 | GctsCommit |
POST | /repositories/{id}/commit |
Commit local changes (body: message, objects[] with name/package/type) |
| 8 | GctsListBranches |
GET | /repositories/{id}/branches |
List all branches of a repository |
| 9 | GctsSwitchBranch |
GET | /repositories/{id}/switchBranch?branch={name} |
Switch the active branch of a repository |
| 10 | GctsGetHistory |
GET | /repositories/{id}/getHistory |
Get commit history of a repository |
Use cases
- CI/CD pipelines: An LLM agent can orchestrate clone → pull → switch branch → deploy workflows across DEV/QAS/PRD systems
- Multi-system deployment: Coordinate deployments across a landscape (e.g., pull commit X on QAS after successful tests on DEV)
- Branch management: Create feature branches, switch environments between branches, manage release workflows
- Change tracking: Query commit history, compare repository states across systems
Technical details
- Authentication: Uses the same SAP basic auth as other ADT endpoints
- Response format: JSON (unlike most ADT endpoints which use XML)
- Error handling: HTTP 500 with
errorLog[]array containing messages - Repository roles:
SOURCE(development system) vsTARGET(downstream systems) - Configuration: Repositories have key-value config properties (e.g.,
VCS_CONNECTION,CLIENT_VCS_CONNCETION)
References
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request