Task definitions

Jobs are made up of a number of tasks that execute in a specific order.

Task definitions

Retrieve task definitions

GET /task-definition

Retrieves all tasks that have been defined in the system.

Query Parameters:
  • type (string) – Job type to retrieve task definitions for.
Produces:
Role:

_taskdefinition_read

Retrieve task definitions by type

GET /task-definition/jobtype/(type)

Retrieves the tasks that have been defined for a specific job type.

Produces:
Role:

_taskdefinition_read

Define new task

POST /task-definition

Defines one or more new tasks.

Query Parameters:
  • url (boolean) –
    • true - Return list of URLs.
    • false (default) - Return list of ids.
Accepts:
Produces:
Role:

_taskdefinition_write

Retrieve a task

GET /task-definition/(task-id)
GET /task-definition/jobtype/(type)/step/(step)

Retrieves the definition document for a task with a specific id.

Produces:
Role:

_taskdefinition_read

Validate a task

GET /task-definition/(task-id)/validate
GET /task-definition/jobtype/(type)/step/(step)/validate

Verifies that the bean referred to in the task can be resolved and that it contains the specified method.

Does nothing if the task is a script task.

Status Codes:
  • 200 – The bean and method exists.
  • 400 – If the bean or method could not be found.
Produces:
  • text/plain – Informational status text.
Role:

_taskdefinition_read

Delete a task

DELETE /task-definition/(task-id)
DELETE /task-definition/jobtype/(type)/step/(step)

Deletes the task.

Role:_taskdefinition_write

Update an existing task

PUT /task-definition/(task-id)
PUT /task-definition/jobtype/(type)/step/(step)

Updates the task.

Accepts:
Produces:
Role:

_taskdefinition_write

Custom job types

Create a new custom job type

POST /task-definition/jobtype/(type)

Creates a new job type with the specified name. The recommended format of the type path parameter is {VENDOR_PREFIX}_{JOB_TYPE}.

Query Parameters:
  • id (integer) – Required. An integer between 20000 and 30000, must be unique among job types.
Status Codes:
  • 409 – Name or id already taken.
  • 400 – If name or id was not specified.
Produces:
Role:

_taskdefinition_write

Delete a custom job type

DELETE /task-definition/jobtype/(type)

Deletes the job type with the specified name. This will only work for custom job types. System defined job types cannot be deleted.

Status Codes:
  • 404 – Custom job type with specified name not found.
Role:

_taskdefinition_write

Task definition scripts

Retrieve the script for a task definition

GET /task-definition/(task-id)/script
GET /task-definition/jobtype/(type)/step/(step)/script

Retrieves the script of the task definition.

Produces:
  • application/javascript – A JavaScript
Status Codes:
  • 204 – No script is set for the task definition.
Role:

_taskdefinition_read

Set a script for a shape tag

PUT /task-definition/(task-id)/script
PUT /task-definition/jobtype/(type)/step/(step)/script

Sets a script for the task definition.

Accepts:
  • application/javascript – A JavaScript
Role:

_taskdefinition_write

Job graphs

In order to easily see the dependencies between steps for a particular job type, there is functionality to render the job definition as a graph. In order to render the graph, the Graphviz package is required.

Get job graph

GET /task-definition/jobtype/(type)/graph

Shows the dependencies of the tasks of a specified job type.

Produces:
  • image/png
Role:

_administrator

Get job graph as DOT file

GET /task-definition/jobtype/(type)/graph/dot

Shows the dependencies of the tasks of a specified job type in DOT format, for further processing.

Produces:
  • text/plain, text/vnd.graphviz
Role:

_administrator