Summary
The "External Tasks" and "Jobs" tabs in the process instance view are unimplemented placeholders — they render static text only:
// src/pages/Processes.jsx
// TODO: create Jobs example for old Camunda apps
const InstanceJobsPlaceholder = () => <p>Jobs</p>;
// TODO: create External Apps example for old Camunda apps
const InstanceExternalTasksPlaceholder = () => <p>External Tasks</p>;
There is no /external-task and no /job resource anywhere in src/api/resources/ (and consequently no state signals), so this is a full-stack gap, not an empty fetch.
Expected (C7 Cockpit parity)
External Tasks tab — GET /external-task?processInstanceId={id}:
columns ID, Activity, Retries, Worker ID, Lock Expiration Time, Topic, Priority; error details drill-down via GET /external-task/{id}/errorDetails.
Jobs tab — GET /job?processInstanceId={id}:
columns ID, Due Date, Activity, Retries, plus failure log (GET /job/{id}/stacktrace).
Cockpit also offers actions (set retries / set priority for external tasks; set retries, suspend/activate, trigger due date for jobs). Suggest splitting those into a follow-up and starting with read-only tables — same pattern as the incidents tab (InstanceIncidents): resource file + signal in state.js + table component + i18n keys.
Note
Activity names require mapping activityId against the BPMN model (the diagram XML is already in state.api.process.definition.diagram), otherwise show the raw activity id.
Summary
The "External Tasks" and "Jobs" tabs in the process instance view are unimplemented placeholders — they render static text only:
There is no
/external-taskand no/jobresource anywhere insrc/api/resources/(and consequently no state signals), so this is a full-stack gap, not an empty fetch.Expected (C7 Cockpit parity)
External Tasks tab —
GET /external-task?processInstanceId={id}:columns ID, Activity, Retries, Worker ID, Lock Expiration Time, Topic, Priority; error details drill-down via
GET /external-task/{id}/errorDetails.Jobs tab —
GET /job?processInstanceId={id}:columns ID, Due Date, Activity, Retries, plus failure log (
GET /job/{id}/stacktrace).Cockpit also offers actions (set retries / set priority for external tasks; set retries, suspend/activate, trigger due date for jobs). Suggest splitting those into a follow-up and starting with read-only tables — same pattern as the incidents tab (
InstanceIncidents): resource file + signal instate.js+ table component + i18n keys.Note
Activity names require mapping
activityIdagainst the BPMN model (the diagram XML is already instate.api.process.definition.diagram), otherwise show the raw activity id.