abap-adt-api
A TypeScript client for the SAP ABAP Development Tools (ADT) REST API
What is abap-adt-api?
abap-adt-api is a TypeScript library that wraps the SAP ADT REST API exposed by ABAP application servers. It lets you read, write, activate, and manage ABAP objects programmatically — without needing to open SAP GUI or the Eclipse-based ABAP Development Tools IDE.
The library targets Node.js tooling such as editor extensions (VS Code ABAP Remote FS), CI/CD pipelines, and custom developer tools that need to talk directly to a live SAP system.
Capabilities
Upload & Editing
Write ABAP source and DDIC objects back to SAP with lock/unlock and activation.
Sessions & Auth
Stateful/stateless sessions, CSRF token management, and basic auth.
Transports (CTS)
Create, release, and manage change transport requests.
abapGit
Link packages to git repositories, push, pull, and switch branches.
ATC / Code Inspector
Run automated code checks and retrieve findings programmatically.
Debugger
Attach to ABAP debug sessions, step through code, inspect variables.
API surface — source modules
The library is organised around feature modules under src/api/:
| Module | Responsibility |
|---|---|
| objectcontents.ts | Read & write source, lock/unlock, DDIC domain/data-element writes |
| objectcreator.ts | Create and delete ABAP repository objects (programs, classes, tables, …) |
| activate.ts | Single and batch activation (compilation) of inactive objects |
| transports.ts | Full CTS transport lifecycle — create, check, release, delete |
| abapgit.ts | abapGit ADT extension — repo management, push/pull, branch switching |
| search.ts | Quick and full-text object search |
| objectstructure.ts | Object metadata, include structure, node navigation |
| revisions.ts | Source history and diff retrieval |
| atc.ts | ABAP Test Cockpit / Code Inspector checks |
| debugger.ts | Debug session attachment and control |
| syntax.ts | Syntax check and code completion |
| traces.ts | Runtime trace recording and retrieval |
| refactor.ts | Rename and other refactoring operations |
| cds.ts | CDS / Core Data Services specific helpers |
| unittest.ts | ABAP Unit test execution and result parsing |
| discovery.ts | ADT service discovery and feature detection |
| AdtHTTP.ts | HTTP layer — session state, CSRF, request dispatch |
HTTP method conventions
The client follows standard REST semantics against SAP ADT endpoints:
| Method | Used for |
|---|---|
| GET | Reading source, object metadata, search results, transport lists |
| POST | Locking, unlocking, activating, creating objects, transport operations, abapGit actions |
| PUT | Writing source code, DDIC XML payloads, transport config |
| DELETE | Deleting repository objects, deleting transports, unlinking abapGit repos |