Start typing to search.

Reference

Job configuration reference

View Markdown

Reference for job_config form and field-mapping schemas, defaults, option sources, stored values, API editing, and run snapshots.

job_config is a runtime-editable schema declared by a job template and copied to each created job. Every run snapshots the current values and exposes them to task JSONata as job_config.<key>.

Only form and field_mapping entries are supported.

Key rules

job_config:
  migration_options:
    type: form
    title: Migration options
    fields: []

The map key is both the stored configuration key and JSONata key. It must contain letters, numbers, underscores, or hyphens. Do not add id or config_key inside the entry.

form

job_config:
  migration_options:
    type: form
    title: Migration options
    description: Applied to the next run
    fields:
      - key: stage
        label: Stage
        type: select
        required: true
        default: validate
        options:
          - { label: Validate, value: validate }
          - { label: Migrate, value: migrate }
      - key: notify
        label: Send notification
        type: boolean
        default: false

Form field types:

  • text;
  • number;
  • boolean;
  • select;
  • multi_select.

Fields can use required, default, format, depends_on, and hide_if_expr. Text formats include validated email and URL values.

Select fields use inline options or a read-only options_source.

The stored value is one object keyed by field key.

Option sources

options_source:
  connector: source
  method: proxy_list
  args:
    resource: pipelines
label_expr: $.label
value_expr: $.id
search:
  param: q

Option sources support:

  • label_expr, value_expr, and subtext_expr;
  • a server search argument through search.param;
  • search.on_frontend: true only for a bounded one-page result;
  • transform_expr;
  • depends_on.

Options are returned one page at a time with next_cursor.

field_mapping

job_config:
  contact_fields:
    type: field_mapping
    title: Contact fields
    allow_transform: true
    default:
      - { source_field: email, target_field: email }
    source:
      options_source:
        connector: source
        method: list_fields
      label_expr: $.label
      value_expr: $.name
    target:
      options_source:
        connector: destination
        method: list_fields
      label_expr: $.label
      value_expr: $.name

The stored value is an array of:

{
  "source_field": "email",
  "target_field": "email",
  "transform": null
}

allow_transform: true enables operator-authored JSONata per row. Use it only for trusted authors. validation_expr can enforce mapping-level rules.

API

  • GET /api/jobs/{id}/config returns schema and current values.
  • PUT /api/jobs/{id}/config/{key} saves { "value": ... }.
  • PUT /api/jobs/{id}/config replaces the complete config object for an authorized admin.
  • POST /api/jobs/{id}/config/{key}/options resolves pageable options.

Read the schema before writing. Values are validated on save.

Snapshot behavior

Saving job configuration affects future runs. Active and historical runs retain their own snapshot.

See Configure a job between runs and Dashboard input widgets.