Basis Technologies have developed an ActiveControl integration with abapGit and Jenkins as part of customer pilots into these new approaches.
The purpose of these integrations is to achieve an automated CI//CD workflow by the triggering code builds and automated tests.
The first option is for ActiveControl and Jenkins to be connected as an Outbound and Inbound Integration as part of an automated QA workflow:
- For the Outbound integration, When transports arrive in a QA Test Queue, ActiveControl will send a (configurable) URL request to Jenkins containing the Business Task details that are to be tested, and lock the ActiveControl Import Queue (to prevent further transports being imported for the duration of the automated tests). Jenkins will then be used to trigger the required test automation processes.
- For the Inbound integration, ActiveControl will receive back a test Pass/Fail from Jenkins, and assuming a Pass, automatically add a Test Sign-off result into the associated Business Task(s) and then move them forward in the workflow to the subsequent Control Point. (E.g. for UAT to then be performed)
In addition, for customers using abapGit based distributed development via a Git host such as GitHub, Bitbucket, GitLab, etc. developers can work independently in parallel via feature branches in local (personal) development systems. When a Git merge process is carried out, ActiveControl can now trigger a Jenkins build to perform such activities as…
- Merge the feature branch code into the master code branch
- Merge the code into the main / central SAP development system
- Run build tests and if the build fails, revert back to the previous code version
- Create the SAP transports and corresponding ActiveControl transport forms / Business tasks
This process has the advantage of allowing parallel development of features and enhancements completely independently of other developers with the code only being merged into a main / central development system when the development is complete. This provides much more flexibility in SAP development as the object conflicts commonly encountered in shared SAP development systems are significantly minimized.
More details of this integration – and the technical configuration – can be found in separate online Integration Guide.
If you are interested in making use of this new Jenkins Integration capability, please express interest via your Basis Technologies Account Manager.