abaplint is an open-source static analysis tool for ABAP, it runs well with continuous integration tools like GitHub Apps, GitHub Actions, GitLab Pipelines, Bitbucket Pipelines, Azure Pipelines, Travis, and more. But the developer had to create a pull/merge request before the logic was triggered, now it is possible to run the checks earlier in the development process.
The setup consists of 2 components,
https://github.com/abaplint/abaplint-cloud-foundry is a component that can be installed on your private cloud foundry environment, SAP offers a free CF trial.
The configuration is done via the normal code inspector UI, but the configuration is global and not per variant. If the package is also configured in abapGit, it is easy to pull the abaplint.json configuration from the remote git repository.
For testing purposes, endpoint http://sci.abaplint.org can be used instead of a private CF environment, use at own risk, unencrypted code will leave your infrastructure, plus the server is slow.
The vscode extension can be used to edit the configuration locally and offers checking of the config file via the latest json schema.
When the configuration is done, it’s possible to run the code inspector checks using your favorite editor/environment. Note that the code inspector check will hook automagically into ADT or ATC.
As with all IT, this is work in progress, multithreading is not implemented on the server-side, in a CF set just add more instances.
There is lots of bugs, ABAP is a crazy language, but so far 300+ versions of abaplint have been released, and it will continue to evolve.