Skip to content

[Feature Request] Add gCTS (git-enabled Change and Transport System) tools #39

@Prolls

Description

@Prolls

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) vs TARGET (downstream systems)
  • Configuration: Repositories have key-value config properties (e.g., VCS_CONNECTION, CLIENT_VCS_CONNCETION)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions