• German
  • Docs
  • Knowledge
  • F.A.Q
  • Forum
  • Media
  • Courses
  • Marketplace
  • Login
  • Try for free
  • German
  • Docs
  • Knowledge
  • F.A.Q
  • Forum
  • Media
  • Courses
  • Marketplace
  • Login
  • Try for free
home/Knowledge Base/How to's/How to integrate Simplifier in CI/CD pipelines

How to integrate Simplifier in CI/CD pipelines

Written by Andreas Dallner
February 27, 2025

This article refers to our UserInterface API. This API is not intended to be used outside the Simplifier Client. Routes might change over time.

What are CI/CD?

CI/CD stands for Continuous Integration (CI) and Continuous Deployment/Delivery (CD). It is a set of modern software development practices that help teams deliver code faster, with fewer errors, and in an automated way.

Continuous Integration (CI)

CI is the practice of frequently merging developers’ code changes into a shared repository, where automated tests run to detect issues early. This ensures that code changes integrate smoothly and don’t break existing functionality.

CI is not needed in Simplifier, because Simplifier avoids merge conflicts due

  • Realtime Collaboration within the Application Builder
  • Modularization of Applications
  • Use only one active Version of Connector – because an Interface has always to be the current version of the source System, otherwise you will run into problems with data transfers

So in this Article, we describe the Continuous Delivery (CD) Process.

Continuous Delivery (CD)

CD takes CI a step further by automatically preparing code for deployment to production or staging environments. However, deployment still requires manual approval.

Prerequisites

Before you start, create Users on your source and target instances (read more) and assign the ‘SF_Administrator’ Role (read more).

Also, create at least one Release for an Application (read more). Adapt the linked Transport Package to your needs (read more).

To get the required Application-ID to the relevant Applications, open your browser’s Dev tools before opening the Application overview on your instance. Search for call ‘application’ in Network tab and see the response for the complete Application list with ID and name.

STEP 1: Export Transport from the source instance

To get the required transport file, you have to get a valid authentication token from the source instance, get the latest Release to the Application, and finally download the Transport file to that Release.

1. Get an authentication token for the source instance

First, get a valid Simplifier Token by using the created User on the source instance. You have to use the received Simplifier token as a header param in the following requests.

cURL example:

curl -L -X POST 'https://<SOURCE-INSTANCE-URL>/genToken/' -H 'Content-Type: application/json' -d '{"user":"<USERNAME>","pass":"<PASSWORD>"}'

Result example:

{
  "result": "<SIMPLIFIERTOKEN>",
  "success": true
}

2. Get the Release list to an Application

Now get the release list to the application. Get the highest release number (see property ‘num’) from the result-array.

cURL example:

curl -L -X GET 'https://<SOURCE-INSTANCE-URL>/UserInterface/api/release/AppReleaseList?appId=<APPLICATION-ID>' -H 'Simplifiertoken: <SIMPLIFIERTOKEN>'

Result example:

{
  "result": [
    {
      "metadata": {
        "releaseNote": "Added bonus system for ideas",
        "releaseNum": 2,
        "appName": "IdeaManagement",
        "createDate": "2025-02-26T09:03:06.530+01:00",
        "transportCollectionName": "IdeaManagement_TP",
        "publisher": "b8de15bf-883c-4ca8-bcdb-b455352a8e11",
        "publisherEmail": "klara.fall@simplifier.io",
        "publisherFullName": "Klara Fall",
        "simVersion": "2501.5"
      },
      "num": 2,
      "transportRequestName": "Default0000000003"
    },
    {
      "metadata": {
        "releaseNote": "Initial Release",
        "releaseNum": 1,
        "appName": "IdeaManagement",
        "createDate": "2025-02-26T08:58:07.582+01:00",
        "transportCollectionName": "IdeaManagement_TP",
        "publisher": "b8de15bf-883c-4ca8-bcdb-b455352a8e11",
        "publisherEmail": "klara.fall@simplifier.io",
        "publisherFullName": "Klara Fall",
        "simVersion": "2501.5"
      },
      "num": 1,
      "transportRequestName": "Default0000000002"
    }
  ],
  "success": true
}

2. Download the Transport file

Next, download and store the Transport file.

cURL example:

curl -L -X GET 'https://<SOURCE-INSTANCE-URL>/UserInterface/api/release/AppReleaseDownloader?appId=<APPLICATION-ID>&version=<RELEASE-NUMBER>' -H 'Simplifiertoken: <SIMPLIFIERTOKEN>' -o

STEP 2: Import Transport to the target instance

To import the downloaded Transport file, you have to get an authentication token, upload the file, and import it to the target instance.

1. Get an authentication token for the target instance

First, get a valid Simplifier Token by using the created User on the target instance. You have to use the received Simplifier token as a header param in the following requests.

cURL example:

curl -L -X POST 'https://<TARGET-INSTANCE-URL>/genToken/' -H 'Content-Type: application/json' -d '{"user":"<USERNAME>","pass":"<PASSWORD>"}'

Result example:

{
  "result": "<SIMPLIFIERTOKEN>",
  "success": true
}

2. Upload the Transport file

Split the downloaded file into chunks. We recommend using 8 MB-sized chunks. Each chunk has to be uploaded via the html5uploader.

cURL example:

curl -L -X POST 'https://<TARGET-INSTANCE-URL>/UserInterface/api/html5Uploader' -H 'Simplifiertoken: <SIMPLIFIERTOKEN>' -H 'Content-Type: application/json' -d '{"session":"<UPLOAD-SESSION>","start":<START-MB-CHUNK>,"end":<END-MB-CHUNK>,"dataSize":<CHUNK-SIZE>, "data":<CHUNKED-DATA>,"num":<CURRENT-CHUNK>,"count":<TOTAL-CHUNKS>}'

Result example:

{
  "result": "",
  "success": true
}

The first chunk doesn’t require a session id. The result of the first chunk returns the session ID that has to be used for the following chunks

3. Import the Transport file

After the upload is finished, trigger the import of the Transport. We recommend using the import strategy ‘OVERWRITEIFCHANGED’. It only imports new artifacts and overwrites changed artifacts, but skips the import of unchanged ones.

cURL example:

curl -L -X POST 'https://<TARGET-INSTANCE-URL>/UserInterface/api/transport/import' -H 'Simplifiertoken: &lt;SIMPLIFIERTOKEN&gt;' -H 'Content-Type: application/json' -d '{"uploadSession":"<UPLOAD-SESSION>","strategy":"<IMPORT-STRATEGY>"}'

Result example:

{
  "processId": <PROCESS-ID>
}

Get the import status in intervals. As soon as the import is finished, the status of property ‘statusI18n’ has one of the following values:

  • ‘transportImportStatus_Finished’ -> Successfully finished
  • ‘transportImportStatus_Error’ -> There was at least one error during the import
  • ‘transportImportStatus_PostProcessFailed’ -> All artifacts have been imported. Put there was an error during post-processing (e.g. App Deployment) of at least one artifact

cURL example:

curl -L -X GET 'https://<TARGET-INSTANCE-URL>/UserInterface/api/transport/import/status/<PROCESS-ID>' -H 'Simplifiertoken: &lt;SIMPLIFIERTOKEN&gt;' -H 'Content-Type: application/json' -d '{"uploadSession":"<UPLOAD-SESSION>","strategy":"<IMPORT-STRATEGY>"}'

Result example:

{
  "processId": <PROCESS-ID>,
  "importer": <USER-ID>,
  "statusI18n": <STATUS>,
  "changed": "2025-02-26T11:31:14.916+01:00"
}

Was this article helpful?

1 Yes  No
Related Articles
  • Fine-tuning and Running Custom AI Models in Simplifier
  • Using the Simplifier Teams App
  • How to integrate value help and suggestions in user inputs
  • How to use Google reCAPTCHA v3 Essentials
  • How to use Simplifier Content Repository Plugin
  • Creating a ChatBot Client for ChatGPT
Leave A Comment Cancel reply

You must be logged in to post a comment.

How to's
  • How to integrate Simplifier in CI/CD pipelines
  • How to integrate and use external libraries in Simplifier Apps
  • Working with Drag and Drop
  • Create Test Cases With The UI5 Test Recorder
  • Full-Text Search For PDF Documents
  • Full-Text Search For Excel Files
  • How to Implement an Approval App in Simplifier
  • Create a PDF Template via Plugin
  • Generating a PDF with Simplifier via Plugin
  • How to use Query Options in ODataV2 Connector
  • How to use TimePicker widget
  • How to set Simplifier environment variables in Open Shift
  • How to send and receive Push Notifications
  • Dynamic where-clause and repeatable statement
  • Version and Release Management in Simplifier
  • Logs and Monitoring in Simplifier
  • Use the Adobe PDF Embed API in your Simplifier Application
  • PDF Templates: make the Header/Footer content dynamic
  • Converting Text to Speech with the Google TTS Connector
  • Authentication through another window
  • Creating a ChatBot Client for ChatGPT
  • How to use Simplifier Content Repository Plugin
  • How to use Google reCAPTCHA v3 Essentials
  • How to integrate value help and suggestions in user inputs
  • Using the Simplifier Teams App
  • Fine-tuning and Running Custom AI Models in Simplifier
Knowledgebase Categories
  • Getting Started 4
  • Best Practices 3
  • How to's 26
  • Layout & Design 4
  • Widgets 8
  • Cloud Services 6
  • Database Handling 1
  • Integrations 10
  • Plugins 6
  • Mobile Client 2

  How to integrate value help and suggestions in user inputs

How to use Google reCAPTCHA v3 Essentials  

GetApp Review

User Reviews

capterra

User Reviews

For AWS Customers

For SAP Customers

  • Contact | Imprint | Privacy | © 2025 Simplifier AG. All Rights Reserved.

  • English
  • German

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.