Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock Server
Learn how to deploy the Incident Management application in the SAP BTP, Kyma runtime and test it with the mock server that you've installed.
Overview
You will learn
- How to deploy and the Incident Management application in the SAP BTP, Kyma runtime.
- How to test the application with the mock server that you’ve installed.
Prerequisites
Prerequisites
- You’ve tested the extended Incident Management sample application. Follow the steps in the Test the Extended Incident Management Application with the Business Partner API tutorial that is part of the Consume Remote Services from a Mock Server in Your Full-Stack CAP Application Following the SAP BTP Developer’s Guide and Deploy in SAP BTP, Kyma Runtime tutorial group.
- You’ve installed a mock server in your namespace in the SAP BTP, Kyma runtime. Follow the steps in the Install a Mock Server in the SAP BTP, Kyma Runtime tutorial that is part of the Consume Remote Services from a Mock Server in Your Full-Stack CAP Application Following the SAP BTP Developer’s Guide and Deploy in SAP BTP, Kyma Runtime tutorial group.
- You have an enterprise global account in SAP BTP. To use services for free, you can sign up for an SAP BTPEA (SAP BTP Enterprise Agreement) or a Pay-As-You-Go for SAP BTP global account and use the free tier services only. See Using Free Service Plans.
- You have a platform user. See User and Member Management.
- You’re an administrator of the global account in SAP BTP.
- You have a subaccount in SAP BTP to deploy the services and applications.
OUT OF MAINTENANCE
This tutorial is no longer maintained. For an up-to-date version and support with any issues, refer to the Develop a Side-by-Side CAP-Based Extension Application Following the SAP BTP Developer’s Guide mission in the SAP Discovery Center.
Steps
Make sure you’re logged in to your Kyma cluster. See Login to your Kyma cluster for detailed steps how to log in.
Make sure you’re logged in to your container registry.
If you’re using any device with a non-x86 processor (for example, MacBook M1/M2), you need to instruct Docker to use x86 images by setting the DOCKER_DEFAULT_PLATFORM environment variable using the command
export DOCKER_DEFAULT_PLATFORM=linux/amd64. Check Environment variables for more info.
In VS Code, open the package.json file and add the
[production]profilecredentials(destinationandpath) to the settings for API_BUSINESS_PARTNER:JSON"API_BUSINESS_PARTNER": { "kind": "odata", "model": "srv/external/API_BUSINESS_PARTNER", "[production]": { "credentials": { "destination": "<destination_name>", "path": "odata/v2/api-business-partner" } } }Replace <destination_name> with the name of the destination that you created at Step 5: Create a destination to the mock server of Install a Mock Server in the SAP BTP, Kyma Runtime.
Create the productive CAP build for your application:
Shellcds build --productionThe CAP build writes to the gen/srv folder.
Build a new version of the CAP Node.js image:
Shellpack build <your-container-registry>/incident-management-srv:<new-image-version> \ --path gen/srv \ --builder paketobuildpacks/builder-jammy-base \ --publishMake sure to replace
<your-container-registry>with your docker server URL.Keep in mind that
<new-image-version>is a string thatβs different from the string defined in Deploy in SAP BTP, Kyma Runtime to reflect the changes in the Incident Management app.
Looking for your docker server URL?
The docker server URL is the same as the path used for docker login, so you can quickly check it by running the following command in your terminal:
JSONcat ~/.docker/config.jsonIn case you’re using Docker Hub as your container registry, replace the placeholder
<your-container-registry>with your Docker Hub user ID.The pack CLI builds the image that contains the build result in the gen/srv folder and the required npm packages by using the Cloud Native Buildpack for Node.JS provided by Paketo.
In the VS Code terminal, navigate to the ui-resources folder and run the following command:
Shellnpm install && npm run packageThis command builds and copies the archive nsincidents.zip inside the ui-resources/resources folder.
In the VS Code terminal, navigate back to the root folder of your project:
Shellcd ..Build the UI deployer image:
Shellpack build <your-container-registry>/incident-management-html5-deployer:<image-version> \ --path ui-resources \ --builder paketobuildpacks/builder-jammy-base \ --publish- Make sure to replace
<your-container-registry>with the link to your container registry and keep in mind that<image-version>is a string.
- Keep in mind that
<new-image-version>is a string thatβs different from the string defined in Deploy in SAP BTP, Kyma Runtime to reflect the changes in the Incident Management app.
Looking for your docker server URL?
The docker server URL is the same as the path used for docker login, so you can quickly check it by running the following command in your terminal:
JSONcat ~/.docker/config.jsonIn case you’re using Docker Hub as your container registry, replace the placeholder
<your-container-registry>with your Docker Hub user ID.- Make sure to replace
Since the database image is unchanged, you don’t need to build it again.
Check your container image settings to your chart/values.yaml file:
YAMLglobal: domain: imagePullSecret: name: image: registry: <your-container-registry> tag: <image-version>Make sure to replace
<your-container-registry>with the link to your container registry and keep in mind that<image version>is a string.Overwrite the global image version for the CAP Node.js image and for the UI deployer image:
YAMLsrv: image: repository: incident-management-srv tag: <new-image-version> ... html5-apps-deployer: ... image: repository: "incident-management-html5-deployer" tag: <new-image-version>Update the productive CAP build for your application:
Shellcds build --productionMake sure that your SAP HANA Cloud instance is running. Free tier HANA instances are stopped overnight.
Your SAP HANA Cloud service instance is automatically stopped overnight, according to the time zone of the region where the server is located. That means you need to restart your instance every day before you start working with it.
You can either use the SAP BTP cockpit or the terminal in the SAP Business Application Studio to restart the stopped instance:
Shellcf update-service incident-management -c '{"data":{"serviceStopped":false}}'Deploy using the Helm command:
Shellhelm upgrade --install incident-management --namespace incident-management ./gen/chart \ --set-file xsuaa.jsonParameters=xs-security.jsonThis command installs the Helm chart with the release name incident-management in the namespace incident-management.
When creating new entries in the Incident Management application, you see all values from the mock server in the value help of the Customer field.
Before you continue with this step, donβt forget to perform the steps from the tutorials Assign the User Roles and Integrate Your Application Deployed in SAP BTP, Kyma Runtime with SAP Build Work Zone, Standard Edition.
Open your SAP Build Work Zone, standard edition site as described in Integrate Your Application Deployed in SAP BTP, Kyma Runtime with SAP Build Work Zone, Standard Edition.
Choose the Incident Management tile.

Incident Management tile on the launchpage Choose Create to start creating a new incident.

Create a new incident Open the value help for the Customer field.

Value help for Customer field Verify that customer data is fetched from the mock server.

Data in value help
Congratulations! You have successfully developed, configured, and deployed the Incident Management application using an external service and a mock server.
Resources
Discussion
Share feedback on this tutorial or join the conversation in SAP Community.