{"ref":"artifact:abap-openapi-abap-openapi","page":"/artifacts/abap-openapi-abap-openapi","json":"/artifacts/abap-openapi-abap-openapi.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"abap-openapi-abap-openapi","name":"abap-openapi","artifact_type":"generator","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","description":{"one_line":"Generates ABAP client classes and ICF server stubs from an OpenAPI v3 document, one self-contained global class and interface per definition, through a web client, a Node.js command line or ABAP itself.","short":"Generates ABAP client classes and server stubs from OpenAPI","what_it_solves":"Turning an OpenAPI document into working ABAP code otherwise means writing the client class or the ICF server handler by hand. abap-openapi generates one self-contained global class and interface per OpenAPI definition, covering OpenAPI v3 documents (v2 only after converting to v3) for ABAP v702 and up, generated through a web client, a Node.js command line, or from ABAP itself. The generated code depends on ZCL_OAPI_JSON, which the README suggests copying into a local class rather than keeping as a shared dependency."},"links":{"repo":"https://github.com/abap-openapi/abap-openapi","homepage":"https://abap-openapi.github.io/web-openapi-client/"},"identity":{"license":"MIT"},"compat":{"runtimes":["node"]},"type_properties":{"generates":{"value":["code"],"sources":[{"url":"https://github.com/abap-openapi/abap-openapi","title":"abap-openapi — README","checked":"2026-10-18","quote":"create API clients, ICF server handlers, and ICF server implementation stubs from OpenAPI documents"}]},"invoked_by":{"value":["cli"],"sources":[{"url":"https://github.com/abap-openapi/abap-openapi","title":"abap-openapi — README","checked":"2026-10-18","quote":"Generate via command line (NodeJS)"}]},"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/abap-openapi/abap-openapi","title":"abap-openapi — README","checked":"2026-10-18","quote":"run `npm install`"}]}},"source_available":true,"provides":[{"capability":"capability:openapi","what_it_does":"Generates a self-contained ABAP client class or ICF server handler and implementation stub from an OpenAPI v3 document (v2 after conversion), for ABAP 702 and up.","sources":[{"url":"https://github.com/abap-openapi/abap-openapi","title":"abap-openapi/abap-openapi — README","checked":"2026-09-14","quote":"ABAP OpenAPI Client and Server generator in ABAP"}]}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"drafted_with_ai":true,"maintainers":["actor:abap-openapi"],"contributors":["actor:axelmohnen","actor:blackmancc","actor:colbyhemond","actor:francisco-milan","actor:gregorwolf","actor:larshp","actor:oberstvongatow","actor:pokrakam","actor:samibouge"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"11 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"abaplint syntax open-abap, no release"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"good","evidence":"Web green, 2026-10-19"}],"practice":[{"label":"Tests","tier":"good","evidence":"1 test file"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":101,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":101,"forks":20,"open_issues":30,"archived":false,"pushed_at":"2026-10-19","license_spdx":"MIT","org_owned":true,"default_branch":"main","created_at":"2021-01-19T16:03:52Z","open_prs":0,"tree_truncated":false,"test_files":1,"workflows":2,"other_ci":false,"readme_bytes":1992,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2021-01-19","last_commit":"2026-10-19","commits":175,"contributors":11,"ci_status":"success","ci_run_at":"2026-10-19","ci_workflow":"Web","ci_event":"push","readme_path":"README.md","readme_sha":"65a32c70526ec0fe41cb5818d4901e425f5d42ef","repo_read":"2026-10-26","abap_syntax":{"repo":"abap-openapi/abap-openapi","file":"abaplint.json","url":"https://github.com/abap-openapi/abap-openapi/blob/HEAD/abaplint.json","version":"open-abap","checked":"2026-10-26"}},"edges":{"maintainers":[{"ref":"actor:abap-openapi","name":"abap-openapi","json":"/actors/abap-openapi.json"}],"contributors":[{"ref":"actor:axelmohnen","name":"axelmohnen","json":"/actors/axelmohnen.json"},{"ref":"actor:colbyhemond","name":"Colby Hemond","json":"/actors/colbyhemond.json"},{"ref":"actor:oberstvongatow","name":"Fabian","json":"/actors/oberstvongatow.json"},{"ref":"actor:francisco-milan","name":"Francisco Milán","json":"/actors/francisco-milan.json"},{"ref":"actor:gregorwolf","name":"Gregor Wolf","json":"/actors/gregorwolf.json"},{"ref":"actor:blackmancc","name":"Jens Schwarz","json":"/actors/blackmancc.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:pokrakam","name":"Mike Pokraka","json":"/actors/pokrakam.json"},{"ref":"actor:samibouge","name":"Sami","json":"/actors/samibouge.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:abap2ui5-addons-open-source-libs","name":"abap2UI5-addons/open-source-libs","json":"/artifacts/abap2ui5-addons-open-source-libs.json","requirement":"conditional","role":"demonstrated-library","condition":"the `src/04` sample, `z2ui5_cl_osl_openapi`, is installed and run"}],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}