GET /api/job_invocations
List job invocations

Examples

GET /api/job_invocations
200
{
  "total": 3,
  "subtotal": 3,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "id": 39,
      "description": null,
      "job_category": "Job name 30",
      "targeting_id": 46,
      "status": 0,
      "start_at": null,
      "status_label": "succeeded",
      "ssh_user": null,
      "time_to_pickup": null,
      "dynflow_task": {
        "id": "9baea6cb-7149-4f22-8763-5ecdc64a009f",
        "state": "stopped"
      },
      "template_id": 1007981773,
      "template_name": "Job template 35",
      "effective_user": "root",
      "succeeded": "N/A",
      "failed": "N/A",
      "pending": "N/A",
      "total": "N/A",
      "missing": 0
    },
    {
      "id": 38,
      "description": null,
      "job_category": "Job name 37",
      "targeting_id": 48,
      "status": 2,
      "start_at": null,
      "status_label": "queued",
      "ssh_user": null,
      "time_to_pickup": null,
      "dynflow_task": null,
      "template_id": null,
      "template_name": null,
      "effective_user": null,
      "succeeded": "N/A",
      "failed": "N/A",
      "pending": "N/A",
      "total": "N/A",
      "missing": 0
    },
    {
      "id": 37,
      "description": null,
      "job_category": "Job name 36",
      "targeting_id": 47,
      "status": 2,
      "start_at": null,
      "status_label": "queued",
      "ssh_user": null,
      "time_to_pickup": null,
      "dynflow_task": null,
      "template_id": null,
      "template_name": null,
      "effective_user": null,
      "succeeded": "N/A",
      "failed": "N/A",
      "pending": "N/A",
      "total": "N/A",
      "missing": 0
    }
  ]
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

search
optional

filter results

Validations:

  • String

order
optional

Sort and order by a searchable field, e.g. '<field> DESC'

Validations:

  • String

page
optional

Page number, starting at 1

Validations:

  • Must be a number.

per_page
optional

Number of results per page to return, 'all' to return all results

Validations:

  • Must match regular expression /\A([1-9]\d*|all)\Z$/.


GET /api/job_invocations/:id
Show job invocation

Examples

GET /api/job_invocations/138
404
{
  "error": {
    "message": "Resource job_invocation not found by id '138'"
  }
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

host_status
optional

Show Job status for the hosts

Validations:

  • Must be one of: true, false, 1, 0.


POST /api/job_invocations
Create a job invocation

Examples

POST /api/job_invocations
{
  "job_invocation": {
    "feature": "remote_execution_feature_1",
    "host_ids": [
      "host7"
    ]
  }
}
201
{
  "id": 6,
  "description": "Job template 4 with inputs Template input 1=\"''\"",
  "job_category": "Job name 4",
  "targeting_id": 7,
  "status": 3,
  "start_at": "2024-02-22 18:13:32 UTC",
  "status_label": "running",
  "ssh_user": null,
  "time_to_pickup": null,
  "dynflow_task": {
    "id": "473e63f0-e24e-458e-a690-0c5225c5bd93",
    "state": "planned"
  },
  "template_id": 1007981717,
  "template_name": "Job template 4",
  "effective_user": "root",
  "succeeded": "N/A",
  "failed": "N/A",
  "pending": "N/A",
  "total": 1,
  "missing": 0,
  "targeting": {
    "bookmark_id": null,
    "search_query": "name ^ (host7)",
    "targeting_type": "static_query",
    "user_id": 135138680,
    "randomized_ordering": null,
    "hosts": [
      {
        "name": "host7",
        "id": 10,
        "display_name": "host7"
      }
    ]
  },
  "task": {
    "id": "473e63f0-e24e-458e-a690-0c5225c5bd93",
    "state": "planned"
  }
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

job_invocation
required

Validations:

  • Hash

job_invocation[job_template_id]
optional , nil allowed

The job template to use, parameter is required unless feature was specified

Validations:

  • String

job_invocation[targeting_type]
required

Invocation type, one of {“static_query”=>“Static Query”, “dynamic_query”=>“Dynamic Query”}

Validations:

  • String

job_invocation[randomized_ordering]
optional , nil allowed

Execute the jobs on hosts in randomized order

Validations:

  • Must be one of: true, false, 1, 0.

job_invocation[inputs]
optional , nil allowed

Inputs to use

Validations:

  • Hash

job_invocation[ssh]
optional , nil allowed

SSH provider specific options

Validations:

  • Hash

job_invocation[ssh][effective_user]
optional , nil allowed

What user should be used to run the script (using sudo-like mechanisms). Defaults to a template parameter or global setting.

Validations:

  • String

job_invocation[ssh][effective_user_password]
optional , nil allowed

Set password for effective user (using sudo-like mechanisms)

Validations:

  • String

job_invocation[ssh_user]
optional , nil allowed

Set SSH user

Validations:

  • String

job_invocation[password]
optional , nil allowed

Set SSH password

Validations:

  • String

job_invocation[key_passphrase]
optional , nil allowed

Set SSH key passphrase

Validations:

  • String

job_invocation[recurrence]
optional , nil allowed

Create a recurring job

Validations:

  • Hash

job_invocation[recurrence][cron_line]
optional , nil allowed

How often the job should occur, in the cron format

Validations:

  • String

job_invocation[recurrence][max_iteration]
optional , nil allowed

Repeat a maximum of N times

Validations:

  • Must be a number.

job_invocation[recurrence][end_time]
optional , nil allowed

Perform no more executions after this time

Validations:

  • DateTime

job_invocation[recurrence][purpose]
optional , nil allowed

Designation of a special purpose

Validations:

  • String

job_invocation[scheduling]
optional , nil allowed

Schedule the job to start at a later time

Validations:

  • Hash

job_invocation[scheduling][start_at]
optional , nil allowed

Schedule the job for a future time

Validations:

  • DateTime

job_invocation[scheduling][start_before]
optional , nil allowed

Indicates that the action should be cancelled if it cannot be started before this time.

Validations:

  • DateTime

job_invocation[concurrency_control]
optional , nil allowed

Control concurrency level and distribution over time

Validations:

  • Hash

job_invocation[concurrency_control][concurrency_level]
optional , nil allowed

Run at most N tasks at a time

Validations:

  • Integer

job_invocation[bookmark_id]
optional , nil allowed

Validations:

  • Integer

job_invocation[search_query]
optional , nil allowed

Validations:

  • String

job_invocation[description_format]
optional , nil allowed

Override the description format from the template for this invocation only

Validations:

  • String

job_invocation[execution_timeout_interval]
optional , nil allowed

Override the timeout interval from the template for this invocation only

Validations:

  • Integer

job_invocation[feature]
optional , nil allowed

Remote execution feature label that should be triggered, job template assigned to this feature will be used

Validations:

  • String

job_invocation[time_to_pickup]
optional , nil allowed

Override the global time to pickup interval for this invocation only

Validations:

  • Integer


GET /api/job_invocations/:id/hosts/:host_id
Get output for a host

Examples

GET /api/job_invocations/80/hosts/57
200
{
  "complete": false,
  "refresh": true,
  "output": [],
  "delayed": true,
  "start_at": null
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

host_id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

since
optional

Validations:

  • String


GET /api/job_invocations/:id/hosts/:host_id/raw
Get raw output for a host

Examples

GET /api/job_invocations/261/hosts/191/raw
200
{
  "complete": true,
  "refresh": false,
  "output": "1\n2\n3\n4\n5\n"
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

host_id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..


POST /api/job_invocations/:id/cancel
Cancel job invocation

Examples

POST /api/job_invocations/53/cancel
{
  "job_invocation": {}
}
200
{
  "cancelled": true,
  "id": 53
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

force
optional

Validations:

  • Must be one of: true, false, 1, 0.


POST /api/job_invocations/:id/rerun
Rerun job on failed hosts

Examples

POST /api/job_invocations/45/rerun
{
  "failed_only": true,
  "job_invocation": {}
}
201
{
  "id": 46,
  "targeting_id": 55,
  "job_category": "Job name 36",
  "task_id": "5e345c24-f6fa-4934-a80f-35b5a3669110",
  "task_group_id": 8,
  "triggering_id": 8,
  "description": null,
  "concurrency_level": null,
  "execution_timeout_interval": null,
  "password": null,
  "key_passphrase": null,
  "remote_execution_feature_id": null,
  "effective_user_password": null,
  "ssh_user": null,
  "time_to_pickup": null
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

failed_only
optional

Validations:

  • Must be one of: true, false, 1, 0.


GET /api/job_invocations/:id/outputs
Get outputs of hosts in a job

Examples

GET /api/job_invocations/301/outputs
200
{
  "outputs": [
    {
      "complete": true,
      "refresh": false,
      "output": [],
      "host_id": 220
    }
  ]
}

Params

Param name Description
location_id
optional

Set the current location context for the request

Validations:

  • Integer

organization_id
optional

Set the current organization context for the request

Validations:

  • Integer

id
required

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

search_query
optional

Validations:

  • string from 2 to 128 characters containing only alphanumeric characters, space, '_', '-' with no leading or trailing space..

since
optional

Validations:

  • String

raw
optional

Validations:

  • String