GrooveBox

GrooveBox: free online Groovy IDE for SAP Integration Suite, on Groovy 2.4 and Groovy 4

GrooveBox is a free, browser-based Groovy IDE and playground for SAP Integration Suite Groovy scripts. Paste a script, give it a payload, headers, properties and value mappings, and run it on Groovy 2.4 (Java 8) or Groovy 4 (Java 17): you see the output body, what changed in headers and properties, the Message Processing Log and any error.

Open the playground

SAP Integration Suite on SAP BTP is the current name of SAP's integration platform; its Cloud Integration capability runs the iFlows and their Groovy scripts. You may know it by its former names: SAP Cloud Platform Integration (CPI) and, before that, HANA Cloud Integration (HCI). GrooveBox works for the Groovy scripts written for all of them: think of it as an online Groovy editor, script tester and debugger for iFlow script steps.

Why GrooveBox

Testing a Groovy script in SAP Integration Suite usually means deploying the iFlow, triggering it and reading the trace, or setting up a local IDE with the SDK and stubs for every SAP API. GrooveBox gives you the same answer in seconds, in the browser.

GrooveBox compared with the usual ways to test a script

Deploy and test on the tenantLocal IDE with the SDKGrooveBox
SetupTenant access, an iFlow and a way to trigger itIDE, SDK libraries, stubs for the SAP APIsNone: open the page
Time per changeMinutes: deploy, run, open the traceSeconds, once set upSeconds
Groovy 2.4 and Groovy 4One script step version at a timeA separate setup for eachBoth, one click apart
Value mappingsMust be deployed on the tenantWritten by hand in stubsTable, CSV or value_mapping.xml import
MPL, header and property changesTrace and monitoringYour own loggingBuilt-in tabs and diff
On a phoneDesktop web UIDesktop onlyPhone, tablet and desktop
Real adapters and tenant dataYesNoNo

The best workflow combines them: write and debug the script in GrooveBox, then deploy it to the tenant for the end-to-end test.

Who it is for

Features

AreaWhat GrooveBox does
RuntimesV1: Groovy 2.4.21 on Java 8 with com.sap.gateway.ip.core.customdev.util.Message. V2: Groovy 4.0.24 on Java 17 with the Script API v2 (com.sap.it.script.v2.api.Message and Exchange).
MessageBody as String, InputStream or byte[] with the usual getBody(...) conversions, case-insensitive headers, properties, attachments.
Value mappingITApiFactory.getApi(ValueMappingApi.class, null) with getMappedValue and getMappedValues, from a table you fill in or import (CSV or the value_mapping.xml of an export from SAP Integration Suite).
Other SAP APIsSecureStoreService (user credentials, OAuth2 tokens), PartnerDirectoryService parameters and a number range counter, all with test data you provide.
Message Processing LogmessageLogFactory.getMessageLog(message) works as in SAP Integration Suite: string properties, attachments and custom headers appear in the MPL tab.
ResultsOutput body (beautified XML / JSON), header and property diff against the input, console output, the SAP API calls made, and errors with the failing line highlighted.
Your workKept in your browser; save the script as a .groovy file or export the whole session (script and inputs) as JSON.

How to use it

  1. Choose the runtime: V1 (Groovy 2.4) or V2 (Groovy 4).
  2. Write or paste the script. The function to call is processData by default; you can change it.
  3. Fill in the input: body, headers and properties (with their Java type), value mappings, attachments, secure store and partner directory entries.
  4. Press Run or Ctrl+Enter.
  5. Check the output tabs: Body, Headers, Properties, Attachments, MPL, Console, API and Error.
  6. Save the script with Save: it is downloaded to your computer as a .groovy file.

Example script

A typical SAP Integration Suite script reads the payload, looks up a value mapping, sets headers and properties and writes to the Message Processing Log. It runs unchanged in GrooveBox:

import com.sap.gateway.ip.core.customdev.util.Message
import com.sap.it.api.ITApiFactory
import com.sap.it.api.mapping.ValueMappingApi

def Message processData(Message message) {
    def order = new XmlSlurper().parseText(message.getBody(String))

    def valueMapping = ITApiFactory.getApi(ValueMappingApi.class, null)
    def country = valueMapping.getMappedValue('S4', 'Country', order.Customer.Country.text(), 'SF', 'Country')

    message.setHeader('SF_Country', country)
    message.setProperty('OrderId', order.Id.text())

    def messageLog = messageLogFactory.getMessageLog(message)
    messageLog?.setStringProperty('Country', country)
    return message
}

What GrooveBox does not do

Privacy and security

Frequently asked questions

Is GrooveBox a Groovy IDE or a Groovy playground?

Both. It is an online Groovy IDE for SAP Integration Suite scripts (code editor with Groovy syntax highlighting, the failing line marked on errors, scripts saved as .groovy files) and a Groovy playground where each script runs instantly on Groovy 2.4 or Groovy 4 with the test message you define.

Does GrooveBox work for SAP CPI scripts?

Yes. SAP Cloud Platform Integration (CPI) is the former name of what is now SAP Integration Suite: Groovy scripts written for CPI iFlows run in GrooveBox as they are, on the Groovy 2.4 runtime or, after migration, on Groovy 4.

Is GrooveBox free?

Yes. It runs in the browser, with no account and no installation.

Do I need an SAP tenant to test a Groovy script?

No. GrooveBox simulates the script environment of SAP Integration Suite (Message, value mapping, secure store, partner directory, Message Processing Log), so you can run a script before deploying it to a tenant.

Which Groovy versions are supported?

Groovy 2.4.21 on Java 8 (the classic script runtime) and Groovy 4.0.24 on Java 17 (the Script API v2 runtime).

Can I test value mapping lookups?

Yes. Enter the mappings in the Value Mapping tab or import them from a CSV or a value_mapping.xml exported from SAP Integration Suite; getMappedValue and getMappedValues return them, in both directions.

Why use GrooveBox instead of testing on the tenant or in a local IDE?

Because it needs no setup and answers in seconds: no deploy and trace cycle, no SDK or stubs to maintain. It runs the same script on Groovy 2.4 and Groovy 4, imports your value mappings from value_mapping.xml and works on a phone too. Then deploy to the tenant for the end-to-end test with real adapters.

Can I use it to migrate scripts to Groovy 4?

Yes. Run each script on V1 (Groovy 2.4) and V2 (Groovy 4, Script API v2) with the same inputs and compare body, headers, properties and errors before switching the script step version in your iFlow.

Does GrooveBox work on a phone?

Yes. The layout is designed for small screens: one panel at a time (Input, Script, Output), a compact editor with wrapped lines and all the features of the desktop version.

Can my script call external systems?

No. For security, scripts run without network access, file system access or the ability to start processes.

Is my code or data stored?

No. Nothing is stored or logged on the server; your work is kept only in your own browser.

Is GrooveBox made by SAP?

No. GrooveBox is an independent tool, not affiliated with or endorsed by SAP.

Last updated: