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 behaviour, and extend Jira's functionality — all using JavaScript that runs securely inside the Atlassian Forge sandbox.
What Can ScriptForge Do?
| Feature | What It Does |
|---|---|
| Script Console | Run ad-hoc scripts against your Jira instance for bulk operations, data queries, or prototyping |
| Listeners | React to 37+ Jira events (issue created, comment added, sprint started, etc.) with custom logic |
| Scheduled Jobs | Execute scripts on a recurring schedule (hourly interval, managed by the Forge platform) |
| Workflow Extensions | Add custom Conditions, Validators, and Post Functions to any workflow transition |
| Behaviours | Dynamically show/hide fields, set defaults, enforce requirements, and react to user input on forms |
| Scripted Fields | Create calculated custom fields that compute values from issue data |
| Fragments | Add custom buttons, panels, and menu items to the Jira UI |
| JQL Functions | Extend Jira's search with custom functions like hasSubTasks, linkedIssuesOf, parentsOf |
| HAPI | A high-level API with 52 functions for working with issues, users, groups, and projects |
| Built-In Scripts | 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 HAPI library.
Storage: Forge SQL (MySQL-compatible) for structured data, Forge Entity Store for 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.
HAPI — The High-Level API
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 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);
});
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
- Script Console — Run ad-hoc scripts
- Listeners — React to Jira events
- Workflow Extensions — Enhance your workflows
- Behaviours — Dynamic field control