Apache Jelly
Developer(s)Apache Software Foundation
Written inJava
LicenseApache License 2.0

Apache Jelly is a Java and XML based scripting and processing engine for turning XML into executable code.[1] Jelly is a component of Apache Commons.

Custom XML languages are commonly created to perform some kind of processing action. Jelly is intended to provide a simple XML based processing engine that can be extended to support various custom actions.[2]


CA Project and Portfolio Management, or CA PPM,[3] formerly known as CA Clarity PPM or just Clarity, is a product of Broadcom. CA PPM uses an extended version of the Jelly tag-language as an automation and integration scripting language in its Process Management engine. CA PPM implementation of Jelly is called GEL (Generic Execution Language) and encompasses a new custom tag library that allows easier connection to CA PPM via its XML Open Gateway (XOG). The following example shows how CA PPM implements the classical "Hello World" application.[4]

<gel:script xmlns:j="jelly:core" xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary">
  <j:forEach indexVar="i" begin="1" end="3">
    <gel:out>Hello World ${i}!</gel:out>

Jelly is also used by the ServiceNow platform, which uses Jelly tag-language for scripting the UI,[5] and by the Jenkins continuous integration server, which uses Jelly to allow plugins to extend its UI.[6]


  1. ^ "Jelly - Jelly : Executable XML".
  2. ^ "Jelly - Jelly Overview".
  3. ^ CA PPM Product Page at ca.comArchived 2016-02-20 at the Wayback Machine
  4. ^ CA PPM 15.2 XOG GEL Scripting[dead link]
  5. ^ Now Platform Scripting - Jelly tags
  6. ^ "How to write a Jenkins Plugin – Part 2". Clean Test Code. 2013-11-28. Retrieved 2016-12-30.