Skip to content

Post-Job Actions — Service, Controller & Execution #11

@MaximumTrainer

Description

@MaximumTrainer

Gap

The PostJobAction JPA entity and repository exist, but:

  • No PostJobActionService — no business logic for managing or executing actions.
  • No PostJobActionController — no REST API endpoints to create, list, update, delete, or execute post-job actions.
  • No execution triggerJobService does not invoke post-job actions on job completion or failure.

The three action types (WEBHOOK, EMAIL, SCRIPT) are defined as enums but have no implementation.

Affected files:

  • backend/src/main/kotlin/com/opendatamask/model/PostJobAction.kt
  • backend/src/main/kotlin/com/opendatamask/repository/PostJobActionRepository.kt

Required Work

  • Create PostJobActionService with CRUD operations and execution logic for each action type (WEBHOOK, EMAIL, SCRIPT).
  • Create PostJobActionController with endpoints scoped to workspaces (e.g. POST /api/workspaces/{id}/actions, GET, PUT, DELETE).
  • Integrate execution into JobService: after a job completes (or fails), query enabled PostJobAction entries for the workspace and execute them.
  • Implement webhook HTTP call-out, email dispatch, and script execution.
  • Add frontend views/components for managing post-job actions.

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions