ScriptForge - Overview
ScriptForge is a Forge-native scripting and automation platform for Jira Cloud. It gives administrators and developers the ability to automate processes, customize workflows, control field behaviours, and extend Jira's functionality - all using JavaScript that runs securely inside the Atlassian Forge sandbox.
What Can ScriptForge Do?
| Feature | What It Does |
|---|---|
| Execution Console | Run ad-hoc scripts against your Jira instance for bulk operations, data queries, or prototyping |
| Event Handlers | React to 37+ Jira events (issue created, comment added, sprint started, etc.) with custom logic |
| Scheduled Events | Execute scripts on a recurring schedule (hourly interval, managed by the Forge platform) |
| Workflow Rules | Add custom Conditions, Validators, and Post Functions to any workflow transition |
| Field Behaviours | Dynamically show/hide fields, set defaults, enforce requirements, and react to user input on forms |
| Smart Fields | Create calculated custom fields that compute values from issue data |
| Fragments | Add custom buttons, panels, and menu items to the Jira UI |
| Canarys HAPI | A high-level API with 52 functions for working with issues, users, groups, and projects |
| Quick Actions | Pre-built scripts for common operations (bulk clone, bulk transition, user management, etc.) |
How It Works
ScriptForge is built entirely on the Atlassian Forge platform. Scripts run inside a secure Node.js sandbox with controlled access to the Jira REST API. There is no external hosting, no OAuth complexity, and no Connect iframe - everything executes natively in the Forge runtime.
Scripting Language: JavaScript (ES2022+). All scripts have access to async/await, modern array methods, and the full Canarys HAPI library.
Storage: Forge SQL (MySQL-compatible) for structured data, Forge Entity Store for field behaviours, and Forge KVS for key-value storage.
Security: Scripts cannot access the filesystem, network (except Jira APIs), or external services directly. The Forge sandbox enforces a 25-second execution timeout.
Canarys HAPI - The High-Level API
Canarys HAPI (High-level Abstraction Programming Interface) is ScriptForge's built-in library that simplifies common Jira operations. Instead of making raw REST API calls, you use fluent methods:
// Create an issue with Canarys HAPI
const issue = await WorkItems.create('PROJ', 'Bug', b => {
b.setSummary('Login page crashes on mobile');
b.setPriority('High');
b.setDescription('Steps to reproduce...');
});
// Search and process issues
const results = WorkItems.search('project = PROJ AND status = "To Do"');
await results.forEach(wi => {
console.log(wi.key, wi.summary);
});
Canarys HAPI covers 5 modules: WorkItems (issues), Users, Groups, Spaces (projects), and Entity Properties (key-value storage on any Jira entity).
Quick Links
- Getting Started - Install and configure ProScripts
- Execution Console - Run ad-hoc scripts
- Event Handlers - React to Jira events
- Workflow Rules - Enhance your workflows
- Field Behaviours - Dynamic field control