Scheduled Job Examples
The following examples are available in-app via the Example scripts modal when you're creating a Scheduled job. Each example shows a common automation scenario, including a suggested schedule and cron expression. You can copy and adapt these scripts, then save them as scheduled jobs to run automatically at specific times.
For each example below, you’ll also find a note that maps it back to the corresponding in-app script name so you can easily locate the original script in the modal.
Create a work item once per month
Create a scheduled job that automatically creates a standardized work item (for example, a monthly reporting task) in a specific space with required and custom fields prefilled. Use it to ensure recurring tasks are consistently created and never forgotten.
- Schedule: Monthly on the last day at 9:00 AM
- Cron expression:
0 0 9 L * ?
This example corresponds to the Create a work item in-app script.
Bulk create work items for new projects
Create a scheduled job that bulk-creates a set of template work items whenever a new project phase starts (for example, recurring release tasks each quarter). Use it to initialize projects with a consistent, repeatable set of items.
- Schedule: Quarterly on the 1st at 9:00 AM (Jan, Apr, Jul, Oct)
- Cron expression:
0 0 9 1 1,4,7,10 ?
This example corresponds to the Bulk create work items in-app script.
Automatically generate sub-tasks for large work items
Create a scheduled job that scans for parent work items matching certain criteria (for example, a specific issue type or label) and automatically adds standard sub-tasks under them. Use it to break large, repeatable pieces of work into consistent, trackable steps.
- Schedule: Daily at 6:00 AM
- Cron expression:
0 0 6 * * ?
This example corresponds to the Create a sub-task in-app script.
Keep space roles up to date with users and groups
Create a scheduled job that ensures key users and groups are assigned to the correct space roles (for example, adding a team’s group to Developers and a leads group to Administrators). Use it to enforce consistent permissions as teams evolve.
- Schedule: Weekly on Monday at 3:00 AM
- Cron expression:
0 0 3 ? * MON
This example corresponds to the Add users and groups to space roles in-app script.
Synchronize values between custom fields
Create a scheduled job that copies values from one custom field to another wherever the source field is populated and the target field is empty. Use it to gradually migrate data to a new field or keep two fields in sync without manual intervention.
- Schedule: Daily at 1:00 AM
- Cron expression:
0 0 1 * * ?
This example corresponds to the Copy values between custom fields in-app script.
Mirror versions from a master space
Create a scheduled job that copies all versions from a “master” space to one or more target spaces, preserving version names, descriptions, start dates, and release dates. Use it to keep release/version structures aligned across multiple teams or products.
- Schedule: Daily at 2:00 AM
- Cron expression:
0 0 2 * * ?
This example corresponds to the Copy versions to a new space in-app script.
Normalize work item resolutions in bulk
Create a scheduled job that scans for work items with a specific resolution (for example, Duplicate) and updates them to a new resolution (for example, Won’t Do). Use it to keep your resolution values clean and consistent over time.
- Schedule: Weekly on Sunday at 2:00 AM
- Cron expression:
0 0 2 ? * SUN
This example corresponds to the Bulk update work item resolutions in-app script.
Periodically archive or restore specific work items
Create a scheduled job that archives or unarchives a defined set of work items by key (for example, items from a long-finished project) and logs how many were updated. Use it to periodically clean up or restore known sets of work items without manual bulk edits.
- Schedule: Monthly on the 1st at 3:00 AM
- Cron expression:
0 0 3 1 * ?
This example corresponds to the Archive or unarchive work items in-app script.
Count group members for access audits
Create a scheduled job that counts the members of key groups (for example, “jira-admins” or “engineering”) and logs or reports the member counts. Use it to support regular access reviews and license monitoring.
- Schedule: Weekly on Monday at 4:00 AM
- Cron expression:
0 0 4 ? * MON
This example corresponds to the Count group members in-app script.
Automatically remove inactive users each month
Configure a scheduled job that removes users whose accounts are marked inactive (for example, Atlassian accounts flagged as inactive) from your instance. Use it to keep your user directory clean, reduce license usage, and improve security hygiene.
- Schedule: Monthly on the last day at 9:00 AM
- Cron expression:
0 0 9 L * ?
This example corresponds to the Remove inactive users in-app script.
Escalate open work items that are stuck
Set up a scheduled job that finds work items that have remained in an Open state for more than 48 hours, transitions them to a Needs Attention status, and increases their priority when possible. Use it to prevent time-sensitive work items from being overlooked.
- Schedule: Every hour
- Cron expression:
0 0 * * * ?
This example corresponds to the Escalate open work items in-app script.
Escalate high-priority work items that miss SLAs
Configure a scheduled job that finds high-priority work items that are breaching their SLA (for example, not updated within 24 hours or unresolved after 3 days), transitions them using an Escalate workflow transition, and adds reminder comments tagging the assignee or a lead. Use it to ensure critical work is never left unattended.
- Schedule: Every weekday at 8:00 AM
- Cron expression:
0 0 8 ? * MON-FRI
This example corresponds to the Escalate high-priority work items in-app script.
Comment on overdue subtasks
Create a scheduled job that adds reminder comments to unresolved subtasks that are past their due date, tagging the assignee to review the status, due date, or required actions. Use it to nudge assignees, keep work moving, and improve accountability on overdue items.
- Schedule: Daily at 9:00 AM
- Cron expression:
0 0 9 * * ?
This example corresponds to the Comment on overdue subtasks in-app script.
Auto-transition resolved work items to Closed
Define a scheduled job that automatically transitions work items from Resolved to Closed after they’ve been in the resolved status for at least 7 days. Use it to keep workflows tidy while still allowing time for verification or feedback before final closure.
- Schedule: Daily at 3:00 AM
- Cron expression:
0 0 3 * * ?
This example corresponds to the Close resolved work items in-app script.
Archive inactive completed work items
Set up a scheduled job that finds work items in a completed status (such as Done or Closed) with no updates for at least 90 days and archives them. Use it to reduce clutter in boards and searches, improve performance, and retain historical records without deleting issues.
- Schedule: Monthly on the 1st at 2:00 AM
- Cron expression:
0 0 2 1 * ?
This example corresponds to the Archive completed work items in-app script.