Choose the Right Trigger

Trigger comparison matrix

Trigger type When to use Runs as Issue context Timing Engine
Scheduled Run scripts on a recurring schedule Configured actor No Async Sandbox
Event React to Jira events (issue created, updated, etc.) Application Yes (auto-loaded) Async Sandbox
Async Event Trigger scripts from other scripts Caller’s identity Optional Async (0-900s delay) Sandbox
Webhook Execute scripts via HTTP requests Configured actor No Sync Sandbox
Workflow Post Function Run scripts after a workflow transition Configured actor Yes (auto-loaded) Sync Sandbox
Workflow Validator Validate transitions before they complete Configured actor Yes (auto-loaded) Sync Sandbox
Workflow Condition Control transition button visibility N/A (Jira-native) Yes (Jira-native) Sync Jira Expressions
UI Modification Customize issue create/edit/transition forms Current user Yes (form context) Real-time Sandbox
Scripted Field Compute custom field values Application Yes (RichIssue) Sync Sandbox
Automation Run scripts as Jira Automation actions Application Optional Async Sandbox
Rovo AI Let users run pre-approved scripts via Rovo chat Current Rovo user Optional Async Sandbox

Which trigger should I use?

I need to react to a Jira event

Use an Event trigger. It fires automatically when issues are created, updated, deleted, or when comments, worklogs, and other objects change. Choose from 32 event types.

If you need to run logic during a workflow transition (not just after), use a Workflow Post Function or Workflow Validator instead.

I need to run on a schedule

Use a Scheduled trigger. It supports intervals from every 5 minutes to weekly. Scheduled triggers have the highest loop iteration limit (100,000) and generous API call budget (100 calls), making them ideal for periodic bulk operations.

I need to validate a workflow transition

Use a Workflow Validator. It runs before the transition completes and can block it with an error message. Company-managed projects only. The validator is fail-open - if the script errors out, the transition proceeds.

For simple visibility rules (“show/hide the transition button”), use a Workflow Condition with Jira Expressions instead.

I need to modify issue forms

Use a UI Modification trigger. It intercepts issue create, edit, and transition forms to set field visibility, required state, default values, and available options in real-time.

I need computed custom fields

Use a Scripted Field. It recalculates on every issue create and update. Available types: Text, Number, Date, DateTime.

I need to chain scripts together

Use Async Events. One script can trigger another asynchronously, with optional delay (up to 15 minutes) and payload. Useful for breaking complex workflows into stages.

I need to receive HTTP requests

Use a Webhook trigger. It provides a unique URL with Basic Auth authentication. Rate-limited to 60 requests per minute.

I need to integrate with Jira Automation

Use an Automation trigger. Add a “Run JiBrok Studio Script” action to any Jira Automation rule. The script receives the issue context from the automation rule.

I need non-admin users to run scripts

Use the Rovo AI trigger. Admins pre-approve scripts, and regular users discover and run them through the Rovo chat interface. Scripts execute with the calling user’s permissions.


Comparing similar triggers

Scheduled vs event

  Scheduled Event
Fires when Clock interval (5min - weekly) Jira event occurs
Issue context No - query issues with JQL Yes - the event payload includes the issue
Best for Periodic scans, reports, bulk cleanup Reacting to individual changes
API calls 100 60
Loop iterations 100,000 50,000

Workflow post function vs event

  Workflow Post Function Event
Fires when After a specific transition After any matching Jira event
Timing Sync (during transition) Async (after event)
Transition context Yes (event.transition with from/to status) No
Scope Company-managed workflows only All projects
Best for Transition-specific logic (set fields, create linked issues) General issue change reactions

Async event vs scheduled

  Async Event Scheduled
Fires when Another script triggers it Clock interval
Delay 0-900 seconds Fixed interval
Issue context Via payload Via JQL search
Best for Script chaining, deferred processing Periodic operations
API calls 250 100

Next steps

  • Triggers - Trigger overview and configuration
  • Limits - Per-trigger execution limits
  • Administration - Enable/disable trigger types globally