abaplint-Ext-for-abapGit
Surfaces abaplintabaplintStatic analysis for ABAP that runs outside a system on serialised source in a repository, so ABAP checks run in a pull request and in CI before the code ever reaches a system.community org, abap results inside abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap itself, at the point where a developer is already looking.
After abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap commits a change and abaplintabaplintStatic analysis for ABAP that runs outside a system on serialised source in a repository, so ABAP checks run in a pull request and in CI before the code ever reaches a system.community org, abap runs against the repository elsewhere, checking the result means leaving the system for GitHub, where findings do not link back to the object that needs fixing. This implements abapGit's wall_message_repo and on_event user exits to show the latest abaplint status and summary under the repository name, plus a details page listing each finding's object, name and line number with a code preview and a jump to the object. abaplint access to the GitHub repository and an abaplint.json file are prerequisites, and results are fetched over https://api.github.com/, so SSL trust for that host has to be configured on the system.
Facts
Where it sits
Who is behind it
In the atlas: maintains 3@Marc-Bernard-ToolsmaintainerLars HvamContributes to this
In the atlas: maintains 13, contributes to 92, wrote 1@larshpMarc BernardContributes to this
In the atlas: contributes to 26@mbtools2 contributors
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- does not say
- Distributed through
- abapGit
Connections
Catching problems in code before execution
Download
README
quoted from Marc-Bernard-Tools/abaplint-Ext-for-abapGit under MIT, readabaplint Extension for abapGit
View abaplint results and detailed findings directly in abapGit.
Made by Marc Bernard Tools giving back to the SAP Community.
NO WARRANTIES, MIT License
The Problem
After committing changes from abapGit to your repository and running abaplint there, you have to switch to GitHub or another tool to view the abaplint results. If the abaplint check fails, the detailed findings are hard to process since they don't link back to your SAP system where you want to fix the issues.

Note: VSCode with abaplint extension is an exception showing lint results within your ABAP code. But then you are not using abapGit in the first place.
The Solution
This repository provides an extension for abapGit integrating the abaplint results (as user exits). A summary of the results is displayed in the abapGit repository view and details are shown on a separate page with a code preview and an option to jump directly to the code in question.
Repository View
Under the name of the repository, the status and summary of the last abaplint check will be displayed.



You can click on the status icon to open the corresponding page on GitHub. If you click on the result summary, the detailed issues will be shown.
Issue View
The issues are listed similarly to syntax and ATC checks in abapGit. For each finding, the view shows the object type, name, and line number. Below, it prints the abaplint message. A link on the error code opens the corresponding definition on rules.abaplint.org.

Optionally, you can sort the results by object, location, or error code. You can also hide the source code preview.

Installation
Prerequisites
-
SAP Basis 7.02 or higher
-
abapGit needs to be installed
-
abaplint must be installed and given access to your GitHub repository.
-
Install abaplint
-
Give abaplint access to your repos
-
Add abaplint.json to your repo
Get the latest default from schema.abapgit.org
-
Repository
You can install the repository using abapGit creating a new online repository for https://github.com/Marc-Bernard-Tools/ABAP-Lint-Ext-for-abapGit. We recommend using package $ABAPGIT-EXT-ABAPLINT.
User Exits
Implement abapGit user exits wall_message_repo and on_event as follows:
METHOD zif_abapgit_exit~wall_message_repo.
zcl_abaplint_abapgit_ext_exit=>get_instance( )->wall_message_repo(
is_repo_meta = is_repo_meta
ii_html = ii_html ).
ENDMETHOD.
METHOD zif_abapgit_exit~on_event.
IF rs_handled IS INITIAL.
rs_handled = zcl_abaplint_abapgit_ext_exit=>get_instance( )->on_event( ii_event ).
ENDIF.
ENDMETHOD.
SSL and Certificates
The abaplint status is retrieved via https://api.github.com/. Therefore, a proper SSL configuration and certificates for api.github.com are required. See SSL setup for details.
Contributions
All contributions are welcome! Read our Contribution Guidelines, fork this repo, and create a pull request.
About
Made with ❤️ in Canada
Copyright 2025 Marc Bernard https://marcbernardtools.com/
History
Fixes 1
Notes
Fixed
- Remove dependency on abapGit SHA1 type (due to https://github.com/abapGit/abapGit/pull/6029)
Others providing
Compare all 14 on the Static analysis page →- @abap2ui5/linter@abap2ui5/linterA command line that checks an abap2UI5 app class together with the UI5 view its builder chain produces, with no SAP system and no UI5 project.community org, abapCommand-line checker for abap2UI5 app classes and their views
- abap2UI5 Playgroundabap2UI5 PlaygroundABAP in the editor on the left and the abap2UI5 app it builds on the right, both inside one browser tab: the framework is transpiled to JavaScript at build time and the class in the editor is compiled when Run is pressed.community org, abapIn-browser ABAP editor beside the abap2UI5 app it builds
- abapcdsgrammarabapcdsgrammarAn ANTLR4 grammar for ABAP CDS, with the lexer and parser generated from it, so CDS source can be read as a parse tree outside a system.independent, abapANTLR4 grammar, lexer and parser for ABAP CDS
- @abapify/acds@abapify/acdsA parser for ABAP CDS DDL source — tokenizer, parser and a typed AST covering tables, structures, simple types, service definitions and metadata extensions.independent, abapParser for ABAP CDS DDL source with a typed AST
- abaplint-sci-clientabaplint-sci-clientThe ABAP-side client that hands objects to the abaplint Server, so the checks of abaplint surface inside SAP Code Inspector, ABAP Test Cockpit and abapGit.community org, abapABAP client surfacing abaplint checks in Code Inspector and ATC
- abaplintabaplintStatic analysis for ABAP that runs outside a system on serialised source in a repository, so ABAP checks run in a pull request and in CI before the code ever reaches a system.community org, abapStatic analysis for ABAP source outside a system
- BellaBellaAn Eclipse plugin that puts Claude into ABAP Development Tools: explain, generate, rework and implement from the editor's context menu, completion as ghost text, and a chat whose tools reach the system through the developer's existing ADT logon.independent, abapEclipse plugin bringing Claude into ABAP Development Tools
- abapOpenChecksabapOpenChecksAn open-source rule pack for SAP Code Inspector and ABAP Test Cockpit, installed via abapGit and activated as a check variant.independent, abapOpen-source rule pack for SAP Code Inspector and ATC
- upDOWNciupDOWNciA tool that uploads and downloads SAP Code Inspector check variants as XML files, one variant at a time or several in one ZIP file, installed through abapGit.independent, abapUploads and downloads Code Inspector check variants as XML
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystem
- code pal for ABAPcode pal for ABAPATC and Code Inspector checks for the parts of Clean ABAP a static analyser can actually check, installed into a system with [abapGit](artifact:abapgit-abapgit) rather than delivered with it.sap official, abapATC and Code Inspector checks for Clean ABAP
- Clean-Core.ioClean-Core.ioA free hosted workspace that reads one piece of custom ABAP, redraws its business process as BPMN with a line anchor on every element, grades the SAP objects it uses Level A–D and ends in a keep, rebuild, move-to-standard or retire decision.independent, abapHosted workspace redrawing custom ABAP as BPMN and grading it
- ACEACEA SAP GUI tool that parses ABAP source statically to show call flow, data dependencies, control structure and code metrics such as McCabe complexity, without running the code.independent, abapSAP GUI tool for static analysis of ABAP call flow and code metrics
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
abaplint
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:marc-bernard-tools-abaplint-ext-for-abapgit- JSON
- /artifacts/marc-bernard-tools-abaplint-ext-for-abapgit.json
- MCP
- Connecting an agent
