[FEATURE] Quartz System Jobs APIs
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Problem
Quartz scheduler job management (listing system jobs with trigger details, deleting errored jobs) is currently only accessible via JSP scriptlets in system_jobs.jsp and Struts form actions. Need REST endpoints to answer "What system jobs are scheduled?"
Note: These are Quartz scheduler jobs (org.quartz.Job/StatefulJob), NOT the newer JobQueueManagerAPI jobs exposed at /api/v1/jobs. Quartz jobs include system infrastructure tasks like ServerHeartbeatJob, BinaryCleanupJob, DropOldContentVersionsJob, AccessTokenRenewJob, etc.
Goal
Provide REST endpoints for listing all Quartz scheduler jobs with trigger details and deleting errored/orphaned jobs.
APIs
GET /v1/maintenance/_systemJobs— List all Quartz scheduler jobsDELETE /v1/maintenance/_systemJobs/{group}/{name}— Delete a Quartz job
Personas
- Developer Teams — Need REST APIs for Angular System Jobs tab
- System Administrators — Need to monitor scheduled tasks and clean up broken jobs after upgrades
Legacy Reference
- JSP:
system_jobs.jsplines 39–108 (job listing with Quartz API calls) - Struts Action:
ViewCMSMaintenanceAction._deleteScheduler()lines 282–289 - Quartz Utils:
com.dotmarketing.quartz.QuartzUtils—getScheduler(),isJobRunning(),removeJob() - Target Class:
MaintenanceResource.java(/api/v1/maintenance)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with MaintenanceResource.java and compare the Quartz logic in system_jobs.jsp lines 39–108 with ViewCMSMaintenanceAction._deleteScheduler() lines 282–289. Read QuartzUtils.getScheduler(), isJobRunning(), and removeJob() to understand the existing operations. Done means the two maintenance endpoints list Quartz jobs with trigger details and delete a specified Quartz job.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100