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).