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