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.
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.
- Built for the Groovy 4 migration. SAP Integration Suite now runs script steps on Groovy 4 and Java 17 with the Script API v2, and recommends moving existing scripts to it. GrooveBox runs the same script with the same inputs on both runtimes: switch between V1 (Groovy 2.4) and V2 (Groovy 4) with one click and compare the results. See what changes on Groovy 4.
- Full value mapping support. Import the
value_mapping.xmlof an export from SAP Integration Suite, or a CSV, andgetMappedValueandgetMappedValuesreturn your real mappings, in both directions. Edit them in a table and export them back to CSV. See value mapping in Groovy scripts. - Works on your phone. GrooveBox is designed for small screens too, not only for the desktop: one panel at a time (Input, Script, Output), a compact editor with wrapped lines and every feature available. Check or fix a script away from your desk.
- The whole script environment, not just Groovy. Message body as String, InputStream or byte[], headers and properties with their Java types, attachments, the Message Processing Log, Secure Store credentials and OAuth2 tokens, Partner Directory parameters and number ranges.
- Results you can read at a glance. Header and property diff against the input, the MPL as SAP shows it, every SAP API call the script made, console output and errors with the failing line highlighted.
- Chain your script steps. With → Input the output body becomes the input of the next script, so you can test the steps of an iFlow one after the other.
- Safe by design. Each run uses an isolated, single-use container with no network. Nothing is stored on the server and there is no account.
- Free, no installation, no tenant. Open the page and run.
GrooveBox compared with the usual ways to test a script
| Deploy and test on the tenant | Local IDE with the SDK | GrooveBox | |
|---|---|---|---|
| Setup | Tenant access, an iFlow and a way to trigger it | IDE, SDK libraries, stubs for the SAP APIs | None: open the page |
| Time per change | Minutes: deploy, run, open the trace | Seconds, once set up | Seconds |
| Groovy 2.4 and Groovy 4 | One script step version at a time | A separate setup for each | Both, one click apart |
| Value mappings | Must be deployed on the tenant | Written by hand in stubs | Table, CSV or value_mapping.xml import |
| MPL, header and property changes | Trace and monitoring | Your own logging | Built-in tabs and diff |
| On a phone | Desktop web UI | Desktop only | Phone, tablet and desktop |
| Real adapters and tenant data | Yes | No | No |
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
- SAP Integration Suite developers and consultants who want a fast feedback loop while writing Groovy scripts for iFlows.
- Teams moving scripts from the Groovy 2.4 runtime to Groovy 4 and the Script API v2.
- Anyone learning the
MessageAPI of SAP Integration Suite scripts, value mapping lookups or the Message Processing Log.
Features
| Area | What GrooveBox does |
|---|---|
| Runtimes | V1: 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). |
| Message | Body as String, InputStream or byte[] with the usual getBody(...) conversions, case-insensitive headers, properties, attachments. |
| Value mapping | ITApiFactory.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 APIs | SecureStoreService (user credentials, OAuth2 tokens), PartnerDirectoryService parameters and a number range counter, all with test data you provide. |
| Message Processing Log | messageLogFactory.getMessageLog(message) works as in SAP Integration Suite: string properties, attachments and custom headers appear in the MPL tab. |
| Results | Output 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 work | Kept in your browser; save the script as a .groovy file or export the whole session (script and inputs) as JSON. |
How to use it
- Choose the runtime: V1 (Groovy 2.4) or V2 (Groovy 4).
- Write or paste the script. The function to call is
processDataby default; you can change it. - Fill in the input: body, headers and properties (with their Java type), value mappings, attachments, secure store and partner directory entries.
- Press Run or Ctrl+Enter.
- Check the output tabs: Body, Headers, Properties, Attachments, MPL, Console, API and Error.
- Save the script with Save: it is downloaded to your computer as a
.groovyfile.
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
- It is not an SAP Integration Suite tenant: there are no Camel routes, adapters, real stream caching or tenant memory limits.
- Scripts cannot reach the network, the file system or start processes, so scripts that call external HTTP APIs fail here even if they work in SAP Integration Suite.
SimpleExpressionfrom the Script API v2 cannot be evaluated.- The SAP API mocks return the test data you enter, not data from your tenant.
Privacy and security
- Nothing is stored on the server. The script and its inputs are sent only to run it, in an isolated, single-use container with no network, which is destroyed right after. Requests and their content are not logged.
- Your work stays in your browser (local storage). No accounts. A random anonymous ID, also kept in your browser, is sent with each run only to apply the usage limits per browser.
- Analytics only if you accept. With your consent, Google Analytics cookies count visits and pages viewed. Your scripts and payloads are never sent to Google.
- The code editor (Monaco) is loaded from the jsDelivr CDN, which receives your IP address like any web server.
- Don't paste production data or real credentials: use anonymized test payloads.
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.