DSL editors

3 minute readReferenceDeveloper productivity

CloudBees CD/RO provides two different DSL editors:

  • DSL IDE: A general-purpose DSL editor to easily create and evaluate DSL files.

  • DSL inline object editor: Available within an object’s visual editor, it provides a convenient way to view or edit the underlying DSL for the object.

Alternatively, use the evalDsl API call from ectool to evaluate DSL code written in a text editor.

The CloudBees CD/RO IntelliJ IDEA plugin allows the IntelliJ editor to create and modify CloudBees CD/RO projects, releases, and pipelines. This plugin leverages EvalDsl and GenerateDsl functionality to provide CloudBees CD/RO object editing in Groovy or YAML formats within the IntelliJ editors. Refer to Intellij IDEA plugin.


The DSL IDE enables users to evaluate DSL directly from the CloudBees CD/RO UI. To access this feature from the CloudBees CD/RO main menu: Navigate to DevOps Essentials  DSL IDE. The DSL IDE editor displays.

DSL supports the same methods as the Groovy API. You can use println to discover the specific responses.
IDE editor
Figure 1. DSL IDE

The DSL IDE (Integrated Development Environment) provides access to the following features: code editing, evaluation, importing, and exporting.

  1. Modify DSL code.

    • Import and Export - Import or export DSL code to or from local storage.

    • Undo, Redo, and Clear - Shortcuts for standard editor actions.

    • Format - Select a CloudBees CD/RO DSL format. Choices are:

    • Groovy

    • YAML format is a Preview feature.

      A Preview feature:
      • Has not undergone end-to-end testing with CloudBees products

      • Is provided without service-level agreements (SLA) and therefore does not include CloudBees' commitment on functionality or performance

      • May impact other stable areas of the product when used

      • May have limited documentation

      • May not be feature complete during the Preview period

      • May graduate from preview state to fully supported or be removed from the product

      • May introduce incompatible, backward-breaking changes that could revoke the ability to upgrade

      Product features and documentation are frequently updated. If you find an issue or have a suggestion, please contact CloudBees Support.

  2. DSL modification assistance features.

    • Seed scripts for several common DSL operations and CloudBees CD/RO objects by selecting an example from the Examples menu options.

    • Use object help features.

      • Access descriptions of editing functions and keyboard shortcuts by selecting the Help icon.

      • View object-specific details, attributes, and code examples.

        1. Select the object name in the IDE-DSL editor.

        2. Type Command + H on Mac or CTRL + H on Linux/Windows. The Help displays details, attributes, and syntax for the selected object.

        3. Validate DSL script by selecting the Run button. The results appear in the bottom panel.

    • Changes made in the DSL IDE UI are automatically saved to prevent any loss of work.

DSL inline object editor

The DSL inline object editor is available from within the editors for application, dashboard, environment, environment template, microservice, pipeline, and release. It provides a convenient way to view or edit the underlying DSL for the object.

The DSL editor simplifies the modeling process by allowing you to run DSL code from the CloudBees CD/RO Deploy UI rather than using an external IDE or command line interface via the evalDsl API call.

To access the DSL inline object editor:

  1. Navigate to the application, dashboard, environment, environment template, microservice, pipeline, or release editor.

  2. Select DSL editor. The DSL editor displays the DSL code for the current object.

  3. Modify the DSL code and then select the Save button in the upper right corner of the editor pane. Your changes are applied to the object and saved.

    Removing entity definitions from the DSL will not remove the objects from the system. Instead, add the appropriate delete API command to the line immediately below the object definition. For instance, apply this example. deleteTask taskName: “Your task name”.
    DSL editor
    Figure 2. DSL editor

    If you navigate away from the DSL editor before saving any changes, a popup message will appear. You must select an option to continue. The options vary based on your browser:

    • Cancel returns to your active page, and then you can select SAVE to retain your changes.

    • Reload or Leave refreshes your page, and your changes are not saved.