How to use the Atlassian Scheduler

Is there any documentation or updated examples on how to use the Atlassian Scheduler system ( &&

I’ve looked at but the example uses the old plugin version instead of the newer version 2, which makes it harder to figure out how to configure the scheduler in the atlassian-plugin.xml.

I’ve also looked at Atlassian scheduler in 7.4.2 jira version not showing up right time in Scheduler details but the person asking the question didn’t provide an atlassian-plugin.xml file and they’re also having problems.

Any additional information would be helpful. I’d like to avoid using the SAL scheduler since it’s deprecated.

Don’t have another documentation for you, but with regards to the atlassian-scheduler-jira-example and you mean Spring scanner version 2, then the atlassian-plugin.xml would just be without all the ‘components’ and ‘compont-import’ tags and these will be annotated instead. i.e.:


<?xml version="1.0" encoding="UTF-8"?>

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${}" plugins-version="2">
        <vendor name="${}" url="${project.organization.url}"/>

    <!-- Creates the webwork action for debugging atlassian-scheduler status -->
    <webwork1 key="scheduler-example.actions" name="Scheduler Example Actions">
        <description>Scheduler Example Actions</description>
            <action name="com.atlassian.jira.plugins.example.scheduler.action.ShowSchedulerInfo" alias="ShowSchedulerInfo" roles-required="admin">
                <view name="success">/templates/actions/showsched.vm</view>

    <ao key="ao-module">
        <description>Awesome active objects entity</description>



public class AwesomePluginJobRunnerImpl implements AwesomePluginJobRunner


public class Example


public class AwesomePluginScheduleManagerImpl implements AwesomePluginScheduleManager
    public AwesomePluginScheduleManagerImpl(@ComponentImport final SchedulerService schedulerService)


public class AwesomeStuffDaoImpl implements AwesomeStuffDao
    public AwesomeStuffDaoImpl(@ComponentImport final ActiveObjects ao)


public class AwesomeStuffSalJobsImpl implements AwesomeStuffSalJobs
    public AwesomeStuffSalJobsImpl(@ComponentImport  PluginScheduler pluginScheduler, AwesomeStuffDao awesomeStuffDao)
    public AwesomeStuffSalJobsImpl(@ComponentImport PluginScheduler pluginScheduler, AwesomeStuffDao awesomeStuffDao)
        this.pluginScheduler = pluginScheduler;
        this.awesomeStuffDao = awesomeStuffDao;


public class AwesomeLauncher implements LifecycleAware, InitializingBean, DisposableBean
    public AwesomeLauncher(final AwesomePluginJobRunner jobRunner, @ComponentImport final EventPublisher eventPublisher, @ComponentImport final SchedulerService schedulerService, @ComponentImport final ActiveObjects ao, final AwesomeStuffSalJobs awesomeStuffSalJobs, final Example example)


    public ShowSchedulerInfo(@ComponentImport final SchedulerService schedulerService, @ComponentImport final SchedulerHistoryService schedulerHistoryService)
        this.schedulerService = schedulerService;
        this.schedulerHistoryService = schedulerHistoryService;
1 Like

I don’t remember the source of knowledge, but here is another example

1 Like

For what it’s worth, although I work on Jira Cloud these days and don’t have much time to maintain these old demos, if anyone feels charitable enough to update the code base for a modern version of Jira Server and submit a PR for it, I’m happy to review/merge it.