The Escalation Service allows you to define a process for modifying issues after a certain amount of time has elapsed. This is useful for business procedures that require tasks to be completed within a certain time-frame (service level agreement). For example, if a task has been opened but not assigned for 7 days you could automatically move it to a "Prioritize" status, or add a comment which will cause an email to be sent.
You can configure a job to run in the same way you can configure Scheduled Jobs.
The minimum interval between code executions is 1 hour. The scheduler is triggered every hour and gathers all the tasks to be executed within that hour. The task executions are queued and workers will consume them in no predefined order. That means that the execution time of the task can not be guaranteed to be the same every hour. As an example: if you configure a job to be run every hour, it might be run at 01:02 and then 02:24 and then 03:00 and then at 04:46 etc depending on how busy our systems are.
Each defined job must have a JQL query that will be run in order to find the issues you wish to modify. The code you provide as part of the job configuration will be run against each issue individually, and in parallel. Each issue will be injected into your code as part of the Script Context.
The maximum number of issues you can modify in any execution of an Escalation Service job is 50.
In other words, we limit the number of issues returned by each JQL query to 50 issues.
The schedule editor dialog lets you choose between running your script on several days during the week (e.g. Monday, Wednesday, Friday), or running your script on particular days of the month (e.g. the last day of the month, the 2nd Tuesday of the month). Additionally you can select an hour interval during which your script will be run.
There is a possibility to test your script using "Run Now" button that will execute the JQL and perform the script. The results of the run and logs are displayed per each issue.