cancel
Showing results for 
Search instead for 
Did you mean: 

Automation of ATC Checks and AUnit Tests in SAP BTP ABAP via Azure Pipeline

saurabh_chikate
Active Participant

Hello SAP Community,

I am currently working on automating ATC (ABAP Test Cockpit) checks and AUnit tests for our Software Components in SAP BTP ABAP. However, I have encountered a challenge as SAP BTP ABAP does not export source code to external repositories, and it is managed internally using the "Manage Software Component" app. This makes it challenging to trigger our Azure pipeline based on code commits.

Info: I am looking for an API-enabled solution/Communication Scenario to trigger our Azure pipeline when specific events occur within SAP BTP ABAP ( e.g. TR Released ). I have identified that ATC checks and AUnit tests can be executed using communication scenarios by manually triggering the pipeline, but triggering it manually defeats the whole purpose of having a pipeline.

Info: I have explored the possibility of using Service Connections in Azure pipelines to consume a trigger, but we're unsure of how the trigger was set up to trigger Jenkins Pipeline. We can replicate similar mechanism if any idea regarding this can be shared

Ref: SAP-samples/abap-platform-ci-cd-samples at atc-static (github.com)

Info: I also found an article that discusses moving SAP ABAP Transport Requests (TR) contents to cTMS and wondered if this scenario could be repurposed to trigger our pipeline when a TR is released.

How to Export Using SAP Cloud Transport Management | SAP Help Portal

Questions:

  1. I am curious if there is a communication scenario that can be utilized to trigger the Azure pipeline on TR release.
  2. I am aware that we can configure yml file to include/exclude object on multiple levels ( e.g. Software Component, Package, Package Tree, Objects) and I am trying to understand the working of ATC checks and AUnit Checks. Does it run every time on all objects configured in config file or only on the released objects?

I appreciate any insights or guidance on above points. Any help or advice is highly appreciated.

Thank you in advance for your assistance.

Accepted Solutions (0)

Answers (2)

Answers (2)

DanielMieg
Advisor
Advisor

Hi Saurabh,

regarding your two questions:

  1. There is currently no option to expose a trigger based on a transport request release. With one of the upcoming releases, the feature "Bring your own git" will be made available (see roadmap). Then, it will be possible to use external git providers and configure the respective triggers.
  2. My understanding is, that no difference is made between released and unreleased objects. Is your plan to execute those checks in a development system?

Best regards

Daniel

BorisZarske
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Saurabh,

For the interplay with a third-party CI/CD pipeline, have you already looked into project 'Piper', such as described here: CI/CD Tools for SAP BTP ABAP Environment | SAP Blogs?

This blog post also provides further background information: CI/CD in ABAP – An Outside-In View | SAP Blogs

Although project 'Piper' does provide pipeline templates only for Jenkins, its step library has been migrated to Golang, to make it usable also for other CI/CD infrastructures. For Azure DevOps, here a blog post about how to use the Docker images of project 'Piper': How to Use Project “Piper” Docker Images for CI/CD with Azure DevOps | SAP Blogs

Best regards,
Boris