For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.9

CSAP c8ctl plugin

The Camunda SAP Integration CLI (CSAP) is a plugin for c8ctl that simplifies the setup of Camunda's SAP integration modules. It provides a streamlined process for configuring and building these modules for deployment.

warning

The standalone csap binary is deprecated and replaced by the c8ctl-plugin-csap-cli plugin. The plugin offers the same functionality. It is a Node.js port of the original tool, so you no longer need Deno. See migrate from the csap binary.

Features​

  • Runs as a c8ctl plugin - no separate binary required.
  • Interactive prompts for configuration.
  • Command-line flags for automation.
  • Support for multiple SAP integration modules.
  • Automatic handling of dependencies and build processes.
  • Compatibility with Camunda SaaS deployments.

Supported modules​

The plugin supports the following SAP integration modules:

ModuleFlag valueDescription
SAP OData connectorodataFacilitates interaction with SAP S/4HANA or ECC systems from a BPMN model.
SAP RFC connectorrfcAllows querying BAPIs and Remote Function Modules on SAP ECC systems.
BTP pluginbtp-pluginEnables rendering task forms in Fiori and provides BTP integration. (Deprecated.)
All modulesallConfigures all available modules.

The plugin supports Camunda 8.7, 8.8, and 8.9. Support for Camunda 8.6 is deprecated.

The plugin downloads the OData and RFC connectors from the sap-connectors repository. The plugin source code is available in the c8ctl-plugin-csap-cli repository.

Prerequisites​

Check your build system meets the following requirements:

  • c8ctl is installed.
  • Node.js 22 or later.
  • git is available in your PATH. Required for the BTP plugin.
  • npm 12 or later is available in your PATH. Required for the BTP plugin build.
  • (Windows) npm uses cmd as the shell script executor: npm config set script-shell cmd.
  • The transient requirements for SAP's mbt (Cloud MTA Build Tool), specifically make. Required for the BTP plugin.

Installation​

Load the plugin into c8ctl from its Git repository:

c8ctl load plugin --from https://github.com/camunda/c8ctl-plugin-csap-cli

To pin a specific branch or tag, append # and the name:

c8ctl load plugin --from https://github.com/camunda/c8ctl-plugin-csap-cli#v1.2.3

To verify the installation, run c8ctl help. The csap-setup command appears under Plugin Commands. To manage the plugin afterward, see extend c8ctl with plugins.

Usage​

The plugin provides a csap-setup command to prepare one of Camunda's SAP integration modules for deployment. You can run the command interactively or provide all required options as command-line flags.

Authentication token​

Under the hood, the plugin uses the GitHub API to query for releases. The GitHub API has a rate limit for unauthenticated requests. It is thus advisable to provide a GitHub access token to the environment you run the plugin in.

Local use​

A personal GitHub access token can be obtained in multiple ways. Either statically by generating one or dynamically by using the gh CLI to log in (gh auth login), which in turn produces an access token.

Then, inject the token into your (shell) environment as the variable GH_TOKEN. The plugin automatically picks up the token from GH_TOKEN and uses it for subsequent requests.

Windows (Command Prompt)

for /f "delims=" %i in ('gh auth token') do set GH_TOKEN=%i

Windows (PowerShell)

$env:GH_TOKEN = (gh auth token)

Linux/macOS (bash)

export GH_TOKEN=$(gh auth token)

CI/CD use​

If your CI/CD environment isn't GitHub, you must obtain a GitHub access token, as with local use, to authenticate the plugin's requests to the GitHub API.

For GitHub Actions, all runs are provided a GITHUB_TOKEN automatically. Declare it for the respective run of c8ctl csap-setup with the env YAML declaration:

jobs:
your-job:
# ...
steps:
- run: |
c8ctl csap-setup --for #...
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Interactive mode​

Run the following command to start the interactive setup:

c8ctl csap-setup

The plugin guides you through prompts to collect all required inputs, including the SAP integration module, Camunda version, deployment method, and credentials.

Command-line options​

All prompts are also available as command-line flags, allowing you to automate the setup process.

Command syntax​

c8ctl csap-setup [options]

Options​

OptionTypeDescriptionDefault value
--forstringSpecifies the SAP integration module to set up. Choices: btp-plugin, odata, rfc, all.(Prompted if not provided)
--camundastringSpecifies the Camunda version. Choices: 8.9, 8.8, 8.7, 8.6 (deprecated).(Prompted if not provided)
--deploymentstringSpecifies the Camunda deployment option. Choices: SaaS. (SM for self-managed is currently disabled.)(Prompted if not provided)
--btpRoutestring(For btp-plugin or all) Specifies the BTP route to reach the plugin. This is SAP/BTP specific. Enter the host without http(s):// and a trailing /.camunda-btp-plugin.cfapps.eu10-004.hana.ondemand.com
--btpPluginBranchstring(Optional, for btp-plugin or all) Specifies the Git branch to clone the BTP plugin from. Useful for testing and PR development scenarios.main
--clusterIdstringSpecifies the Camunda cluster ID.(Prompted if not provided)
--regionstringSpecifies the Camunda cluster region, for example, bru-2.(Prompted if not provided)
--clientIdstringSpecifies the Camunda API client OAuth2 client ID.(Prompted if not provided)
--clientSecretstringSpecifies the Camunda API client OAuth2 client secret.(Prompted if not provided)
--tostringTarget directory for setup artifacts.OS-dependent tmp directory

Environment variables​

The plugin can detect Camunda API credentials from environment variables. If these variables are set, the plugin reuses them without prompting for input. Flags take precedence over environment variables.

Environment variableDescription
CAMUNDA_CLUSTER_IDCamunda cluster ID
CAMUNDA_CLIENT_IDCamunda API client ID
CAMUNDA_CLIENT_SECRETCamunda API client secret
CAMUNDA_CLUSTER_REGIONCamunda cluster region

Examples​

Example 1: Interactive setup​

$> c8ctl csap-setup

# ...

? SAP integration module
BTP plugin (deprecated)
❯ OData connector
RFC connector
All modules

This guides you through the setup process interactively.

Example 2: Automating setup for the BTP plugin​

$> c8ctl csap-setup --for btp-plugin \
--camunda 8.7 \
--deployment SaaS \
--btpRoute my-btp-route.cfapps.eu10-004.hana.ondemand.com \
--clusterId 64ecb347-dd50-49c9-ace2-20c9f6b0798d \
--region syd-2 \
--clientId dIsfmFEB47_-Dt2uMlYdw-B_72stz.Yh \
--clientSecret WzIQFJkxd2xopI7lOGArJ0815kC3SvU5ke~lI4did8k0RMG353DiVDPBPEW1-tuD7

# ...

This command sets up the BTP plugin for Camunda version 8.7 with all required options provided as command-line flags.

Example 3: Setting up all modules, reusing credentials from environment​

$> c8ctl csap-setup --for all \
--camunda 8.8 \
--deployment SaaS

# ...

i Camunda API credentials found in environment. Reusing
┌────────────────────────┬──────────┐
│ (idx) │ Values │
├────────────────────────┼──────────┤
│ CAMUNDA_CLUSTER_ID │ "***5ee" │
│ CAMUNDA_CLIENT_ID │ "***icQ" │
│ CAMUNDA_CLIENT_SECRET │ "***XEq" │
│ CAMUNDA_CLUSTER_REGION │ "***d-1" │
└────────────────────────┴──────────┘

This command sets up all available SAP integration modules for Camunda version 8.8.

Migrate from the csap binary​

To migrate from the deprecated csap binary to the c8ctl plugin, install the plugin and replace csap setup with c8ctl csap-setup in your scripts and pipelines.

  1. Install c8ctl and load the plugin.
  2. Replace csap setup with c8ctl csap-setup in your scripts and CI/CD pipelines.
  3. Remove the csap binary from your PATH.

All flags and environment variables keep their names and meaning. The default values for --for, --camunda, and --deployment can differ from the csap binary, so pass them explicitly in non-interactive runs.

Deploying modules​

After each Camunda SAP integration module is set up with c8ctl csap-setup, it is ready for deployment. The plugin prints in directory <path> after every successful run. Use this path for the deployment.

  • For the OData and RFC connectors, run cf deploy <directory-printed-by-csap-setup>.
  • For the BTP plugin, run cf deploy <directory-printed-by-csap-setup>/mta_archives/<name>.mtar.

Deploying the module to BTP and integrating it into the application lifecycle management of your organization is the responsibility of your SAP practice. To learn more, see the deployment sections of the OData connector, RFC connector, and BTP plugin pages.