What is Groovy scripting used for in Exalate?

    Groovy scripting controls how data transforms and moves between connected systems, handling both outgoing and incoming synchronization logic independently on each side. The scripting engine lets you define which fields to share, how to map values between different platforms, and what rules govern the synchronization process.

    Outgoing Scripts: Control What You Send

    Outgoing scripts determine what information to send from your system by populating the replica object with specific field values. You can script logic to exclude certain custom fields, apply data masking for sensitive information, or transform field formats before sharing with external partners. This gives you complete control over what data leaves your system and how it's formatted.

    Incoming Scripts: Define How You Receive Data

    Incoming scripts define how to apply received data to local work items, including field mappings, status translations, and conditional logic based on work item properties. You control exactly how external data integrates with your system, ensuring it matches your workflow requirements and business processes.

    Advanced Use Cases Beyond Basic Mapping

    Complex requirements that basic field mapping cannot handle include:

    • Conditional Synchronization: Share work items only when they meet specific criteria, such as priority level or status.
    • Calculated Fields: Derive values from multiple source fields, like combining fields or performing calculations.
    • Data Transformations: Convert priority levels, status values, or custom field formats between different systems.
    • Parent-Child Relationships: Maintain hierarchical structures and dependencies across platforms.

    Organizations with specialized workflows, extensive custom fields, or intricate business logic rely on Groovy scripting to accommodate these scenarios while maintaining full operational control over their sync.

    Helper Functions Simplify Common Operations

    The scripting environment includes helper functions for standard synchronization patterns:

    These helpers reduce the code needed for common operations, making script development faster and more reliable.

    Transforming Data Formats Between Platforms

    Every platform has different text formatting: Jira uses Wiki markup, Azure DevOps and ServiceNow use HTML, while GitHub and Zendesk use Markdown. Groovy scripts can transform content between these formats to ensure descriptions and comments display correctly on both sides of your integration.

    For example, you might need to convert HTML formatting from ServiceNow to Wiki markup for Jira, or transform Markdown from Zendesk into HTML for Azure DevOps. This ensures your team members see properly formatted content regardless of which platform they're using.

    User Mentions and Rich Text

    Groovy scripts can handle advanced content like user mentions (tagging team members in comments), rich text formatting, and inline images. When syncing comments that mention users, your scripts can map user identities between systems for instance, converting a Jira user mention to the corresponding Azure DevOps user based on email addresses.

    This ensures collaboration features work seamlessly across platforms, so when someone tags a colleague in a comment, that mention appears correctly on the other side with the right person referenced.

    Script Development Tools

    The platform provides API auto-completion and custom field suggestions as you write scripts, improving development efficiency. Aida, the AI assistant, can help you build scripts, troubleshoot errors, and implement complex sync logic through natural language descriptions of what you want to accomplish.

    Combined with TestRun for validation and versioning for change tracking, these tools make Groovy script development more accessible while maintaining the flexibility to handle intricate integration requirements.

    Getting Started

    Start a free trial to explore Groovy scripting capabilities and see how full script and operational control enables you to build integrations that match your exact requirements.