Repository navigation
Releases: vaibhavgoel-github-1986/abap-adt-cli
Release list
v1.6.4
Install instructions now cover both repositories: the Cisco-internal primary and the public mirror. Documents that 'abap update' follows the public releases API, and how to stay on the internal mirror with pipx instead.
v1.6.3
Follow-up to 1.5.2, which made the README generic but left the same real names in command --help text and tests. Transport ids, ticket keys, CTS attribute names, package and user names in src/ and tests/ are now the same generic placeholders the README uses.
v1.6.2
'abap api' polish after an end-to-end run against a managed RAP service.
- stdout now carries only the payload. Status line, row count and 'no content' go to stderr, so 'abap api ... | jq' and '> file.json' work without --raw.
- README documents every operation: collection and key-predicate reads, create with server-assigned keys, PATCH of selected fields, PUT, DELETE, compound key predicates, $expand=*, paging, piping and the error shapes.
v1.6.1
Fix: 'abap api --metadata' and '--raw' printed through Rich, which wrapped the payload at the terminal width and read '[...]' as markup. Redirecting metadata into a file produced XML that no longer parsed. Raw payloads now go to stdout byte for byte.
v1.6.0
New 'abap api' command: call any OData service the system publishes, over the session ADT already authenticated.
- v2 Gateway and v4 RAP, any HTTP method, plus --metadata
- -n/--namespace takes the service binding (ZSB_*), which is what a v4 path is built from
- -q/--query for repeatable query options, -b/--body for JSON inline or @file
- Writes fetch a CSRF token from the service first, since Gateway issues those per service
- The service's own error message is surfaced instead of a bare status code, unwrapped for both v2 and v4
v1.5.2
Documentation.
- New 'First-time setup' section: a numbered walkthrough of init, login, ping and a first pull, with a table explaining each init prompt and where to find the value.
- Every example in the README is now generic. Real package, class, transport, system and user names have been replaced with ZEXAMPLE_PKG, ZCL_EXAMPLE_*, DEVK9001xx, dev-100 and DEVELOPER.
- Project status refreshed: creating and deleting transport requests are implemented; releasing a transport and creating a local request are not.
v1.5.1
Fix: a request created by 'abap transports new' could not hold any objects.
SAP creates the task as 'Unclassified' no matter what the newrequest payload asks for, and an unclassified task rejects every object with 'Changes to objects are only allowed in correction/repair'. The task is now classified with a follow-up changetasktype call (S for workbench, Q for customizing), and the request is read back after creation because the create reply names no task.
Known limitation, now documented: objects in a local package can only live in a local request, and this API always produces a transportable one.
v1.5.0
'abap transports delete TR' removes a transport request or a single task.
- Contents (tasks and objects) are read and shown before the confirmation prompt
- --yes/-y skips the prompt for scripts
- The transport number is validated for shape before connecting
- SAP does the refusing: a released request, or one still holding object locks, cannot be deleted
v1.4.0
Sub-package handling corrected.
SAP's package facet is already hierarchical: listing a package returns the objects of every package beneath it. A pull has therefore always included sub-packages, and still does by default.
- --no-subpackages now genuinely restricts to the named package, by listing the sub-packages and subtracting what they account for. Previously it only skipped the walk, which changed nothing.
- 'abap pull' now prints the object and package count as soon as the listing is done, so the breadth is visible before the download starts.
v1.3.0
CTS attributes on transport requests.
- 'abap transports attr TR' shows the attributes a request carries
- 'abap transports attr TR Z_JIRA_US=O2CSM-1234' adds it, or replaces the value if already present
- 'abap transports new DESC -a NAME=VALUE' sets attributes on a request as it is created (repeatable)
- 'abap transports attr --names' lists the CTS attributes the system defines
- Setting an existing attribute uses SAP's modifyattribute action addressed by position, re-read before every write