- General
- Console Issues
- Script Errors
- Triggers Not Firing
- Scripted Fields Not Updating
- UI Modifications Not Working
- Tables and Queues Issues
- Permission Errors
- Performance Tips
- Automation & Integrations
- Export, Import & Version History
- Next Steps
General
Who can use JiBrok Studio for Jira Cloud?
Only Jira site administrators. There is no role-based access - all admins have equal access to all features.
What language do scripts use?
A JavaScript-like language that runs in a secure sandbox. It supports most JS syntax (variables, functions, classes, async/await, destructuring) but runs in isolation with no access to the filesystem, network, or browser APIs. Python and Groovy engines are also available. See Scripting Language for details.
Is it safe to run scripts?
Yes. Scripts run in a multi-layer sandbox with strict resource limits (execution time, loop iterations, API calls, etc.). There is no way to access the host system, other apps, or data outside Jira.
Can scripts call external APIs?
No. Scripts can only call the Jira REST API through requestJira() and built-in API namespaces. There is no fetch, XMLHttpRequest, or other network access.
Can I use npm packages?
No. The sandbox has no module system. Only built-in globals and methods are available. Use eval(uuid) to include other saved scripts.
Console Issues
What’s the difference between “result” and “output”?
- Output (logs) - messages from
log(),print(),debug(),info(),warn(),error()calls - Result - the return value of the script, either from an explicit
returnor the value of the last expression
What is Sandbox mode?
Sandbox mode runs the script with read-only Jira access. API calls that modify data (POST, PUT, DELETE) are simulated. Useful for testing scripts safely.
What does “Run As” do?
It determines whose permissions are used for Jira API calls:
- Current User - your permissions (default)
- Application - the app’s permissions (broader access)
- Pre-configured User - a named user from the admin-defined list
- Specific User - search for any Jira user
Script Errors
Why did my script time out?
Scripts have a 10-second execution time limit. Common causes:
- Too many API calls (each call takes time)
- Large loops processing many items
- Complex JQL queries returning lots of data
Tips: Use maxResults in searches, process data in batches across multiple runs, select only needed fields.
I get “API call limit exceeded”
You’ve hit the 40-call-per-execution limit. Solutions:
- Use JQL to fetch data in bulk instead of one-by-one
- Use
Jira.search()with specificfieldsto reduce data - Split work across multiple scheduled runs
What are uncatchable errors?
Some errors cannot be caught with try/catch: timeout errors, iteration limit errors, AST node limit errors, eval limit errors, and security errors. These immediately terminate the script to prevent abuse.
Triggers Not Firing
Checklist for all triggers
- The script is enabled
- The trigger is enabled
- The trigger type is enabled globally in Administration
Scheduled triggers
- Verify the schedule interval (hourly/daily/weekly) is correct
- Check the Script Runs Audit in the Admin tab for execution records
Event triggers
- Verify the correct event type is selected (e.g.,
issue_updatedfor issue edits) - Events triggered by the app itself (via Application mode) are automatically ignored to prevent infinite loops
- Verify context restrictions (projects/issue types) match
Async event triggers
- Ensure the target script has an enabled async event trigger
- Verify the
async_eventtrigger type is enabled
Scripted Fields Not Updating
- Scripted fields recalculate on issue create and issue update only
- Verify the
scripted_fieldstrigger type is enabled in Admin Settings - Check that the field is assigned to the correct screens
- Scripts always run as Application - verify no API restriction blocks access
UI Modifications Not Working
- Verify the
uimtrigger type is enabled in Admin Settings - Check the UIM trigger is configured for the correct project and issue type
- Ensure the script handles both
onInitandonChangecallbacks as needed - Verify field IDs are correct (use
Fields.id()to resolve by name) - UIM scripts always run as current user - check user permissions
- Use Sandbox Mode in Console to test safely - UIM commands will be logged instead of executed
Tables and Queues Issues
Tables
- Verify the table exists and column names match exactly (case-sensitive)
- Check row count hasn’t reached the 5,000 limit
- Ensure row data size is under 100 KB
Queues
- Verify the queue exists
- Check message count hasn’t reached the 50,000 limit
- Ensure message payload is under 100 KB
- Remember:
pull()puts messages in Processing state - useack()orreject()to finalize
Permission Errors
- Check the Run As setting - the configured actor must have permission for the operations
- If using Application mode, verify it’s enabled in Admin Settings
- API whitelist/blacklist may be blocking specific endpoints - check custom profiles
- Context restrictions may limit which projects/issue types the script can access
Performance Tips
- Keep scripts simple and focused - do one thing well
- Use JQL
fieldsparameter to fetch only needed data - Avoid unnecessary API calls - cache data in variables
- Use Custom Tables for persistent data instead of repeated API lookups
- For bulk operations, process in batches across multiple scheduled runs
- Keep UIM scripts fast - they run on every form interaction
- Use the Globals script for shared constants instead of re-fetching in every script
Automation & Integrations
Can I run scripts from Jira Automation?
Yes. JiBrok Studio provides an Automation action that can be used in Jira Automation rules. Configure it with:
- scriptId (required) - the ID of the script to run
- issueKey (optional) - supports smart values like ``
The Automation trigger type is enabled by default. You can disable it in Administration.
Can I use scripts with Rovo AI Agent?
Yes. JiBrok Studio integrates with Rovo AI Agent, providing two actions: list available scripts and run a script. Scripts must have a Rovo trigger configured and be enabled.
The Rovo trigger type is disabled by default - enable it in Administration.
Export, Import & Version History
Can I back up or transfer scripts?
Yes. Scripts can be exported and imported as JSON (v2 format):
- Export individual scripts or all at once (up to 200)
- Import updates existing scripts by matching ID, or creates new ones if no match is found
- Exported data includes: id, name, source code, language, actor, labels, and folder path
Can I revert a script to a previous version?
Yes. JiBrok Studio automatically saves up to 50 versions per script. A new version is created each time you save. Each version stores:
- Source code and description
- Author who made the change
- Snapshot of trigger configuration
Older versions are removed automatically when the limit is reached.
Next Steps
- Getting Started - First steps with JiBrok Studio for Jira Cloud
- Limits - All system limits
- Scripting Language - Language specifics and differences from JavaScript
