CI/CD Integration
Int4 Suite APITester allows for integration, using the REST API, of the test execution features in the CI/CD processes, by exposing test execution API usable from CI/CD scripts. It also supports basic iFlow Integration Package actions integration in the CI/CD scripts, by exposing in a convenient way the relevant SAP CI APIs for Integration Package management.
CI/CD example template script and usage
Int4 released example projects that showcase the below functionality in a SAP CI testing scenario
CI/CD Template script: https://gitlab.com/int4demos/citemplates
Example project: https://gitlab.com/int4demos/CICDOnCPI
The example project supports the following CI/CD scenario steps:
A Git Merge to the development branch (configured as
$BRANCH_DEV
) triggers capture of integration package specified by$CPI_PACKAGE
as ZIP file into the repositoryA Git Merge to the testing branch (configured as
$BRANCH_TEST
) triggers test execution before commiting the mergeA Git Merge to the release branch (configured as
$BRANCH_RELEASE
) triggers deployment of the integration package from the ZIP file from the repository
Configuring the example
The example project above needs to be configured
.gitlab-ci.yml file contents need to be updated to reflect Your CI template repository, if You need Your own specifics to be supported
Project CI/CD variables needs to be configured, according to the documentation in CITemplates project README file.
Testing features
Int4 Suite APITester REST API exposes functions to execute tests and fetch results of their execution, based on Test Case or Test Scenario ID. Please see more details about the API usage in the REST API documentation.
Example cUrl call for a CI/CD script for test execution
The below example uses script-wise variables and generic JSON template to execute a test case from a CI/CD script and returns a value result based on successful execution of the simple test case.
This script takes care about the CSRF token handling, as requested by the REST API.
curl -u "$INT4CRED1:$INT4CRED2" -c cookies.txt -I -X GET https://$INT4HOST/Int4Suite/testcases/$INT4TEST -H "X-CSRF-Token: fetch" > session.txt
token=$(cat session.txt | grep csrf | awk '{print $2}')
echo {\"DATA\": {\"TEST_CASES\": [ \"$INT4TEST\"], \"EXECUTION_LANDSCAPE\": \"DEV\"}} > test.json
curl -u "$INT4CRED1:$INT4CRED2" -X POST https://$INT4HOST/Int4Suite/testruns -d @test.json -H "X-CSRF-Token: $token" -b cookies.txt > result.json
cat result.json | grep 'PASSED":1'
Additional SAP CI Specific features
To help organizations utilize CI/CD flows for SAP CI iFlow testing and deployment, Int4 Suite provides a landscape bridge service that proxies the SAP CI API’s
iFlow Capture
iFlow Deployment
Above flows rely on the APIs provided by SAP Cloud Integration, which are documented here in the https://api.sap.com/api/IntegrationContent/resource/Integration_Packages_Design
These APIs are proxied by Int4 Suite APITester via the /CICD/$CPI_ENV/
URL path, where $CPI_ENV
is a variable representing the environment key as defined in Int4 Suite Configuration.
For example, if You have a CPIDEV environment configured in Int4 Suite, accessible over the internet with HTTPS protocol under the domain name int4.host.name
, then the URL to access the IntegrationPackages
API will be: https://int4.host.name/CICD/CPIDEV/api/v1/IntegrationPackages
Example code using these SAP CI APIs for Integration Package management can be found in the CI/CD Template Script published by Int4 AG.
© 2017 - 2022 Int4 AG All rights reserved