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": 95,
      "description": null,
      "job_category": "Job name 83",
      "targeting_id": 109,
      "status": 0,
      "start_at": null,
      "status_label": "succeeded",
      "ssh_user": null,
      "time_to_pickup": null,
      "concurrency_level": null,
      "execution_timeout_interval": null,
      "dynflow_task": {
        "id": "b3affbf8-e477-463f-a7b8-dc7f748f8975",
        "state": "stopped"
      },
      "template_id": 1007981894,
      "template_name": "Job template 82",
      "effective_user": "root",
      "succeeded": 0,
      "failed": 0,
      "pending": 0,
      "cancelled": 0,
      "total": "N/A",
      "missing": 0,
      "total_hosts": "N/A"
    },
    {
      "id": 94,
      "description": null,
      "job_category": "Job name 90",
      "targeting_id": 111,
      "status": 2,
      "start_at": null,
      "status_label": "queued",
      "ssh_user": null,
      "time_to_pickup": null,
      "concurrency_level": null,
      "execution_timeout_interval": null,
      "dynflow_task": null,
      "template_id": null,
      "template_name": null,
      "effective_user": null,
      "succeeded": 0,
      "failed": 0,
      "pending": 0,
      "cancelled": 0,
      "total": "N/A",
      "missing": 0,
      "total_hosts": "N/A"
    },
    {
      "id": 93,
      "description": null,
      "job_category": "Job name 89",
      "targeting_id": 110,
      "status": 2,
      "start_at": null,
      "status_label": "queued",
      "ssh_user": null,
      "time_to_pickup": null,
      "concurrency_level": null,
      "execution_timeout_interval": null,
      "dynflow_task": null,
      "template_id": null,
      "template_name": null,
      "effective_user": null,
      "succeeded": 0,
      "failed": 0,
      "pending": 0,
      "cancelled": 0,
      "total": "N/A",
      "missing": 0,
      "total_hosts": "N/A"
    }
  ]
}

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/120
200
{
  "id": 120,
  "description": null,
  "job_category": "Job name 111",
  "targeting_id": 134,
  "status": 0,
  "start_at": null,
  "status_label": "succeeded",
  "ssh_user": null,
  "time_to_pickup": null,
  "concurrency_level": null,
  "execution_timeout_interval": null,
  "dynflow_task": {
    "id": "b3b49c19-6f7f-42c5-8024-f35503384fee",
    "state": "stopped"
  },
  "template_id": 1007981712,
  "template_name": "Job template 107",
  "effective_user": "root",
  "succeeded": 0,
  "failed": 0,
  "pending": 0,
  "cancelled": 0,
  "total": "N/A",
  "missing": 0,
  "total_hosts": "N/A",
  "targeting": {
    "bookmark_id": null,
    "bookmark_name": null,
    "search_query": "name = foo",
    "targeting_type": "static_query",
    "user_id": 988725687,
    "randomized_ordering": false,
    "hosts": [
      {
        "name": "host92",
        "id": 92,
        "display_name": "host92"
      }
    ]
  },
  "task": {
    "id": "b3b49c19-6f7f-42c5-8024-f35503384fee",
    "state": "stopped",
    "started_at": null
  },
  "mode": "immediate",
  "pattern_template_invocations": [
    {
      "template_id": 1007981712,
      "template_name": "Job template 107",
      "host_id": null,
      "template_invocation_input_values": []
    }
  ],
  "job_organization": null,
  "job_location": 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_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_15",
    "job_template_id": 12345
  }
}
500
{
  "error": {
    "message": "Only one of feature or job_template_id can be specified"
  }
}

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/138/hosts/104
200
{
  "complete": true,
  "refresh": false,
  "output": []
}

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
List hosts belonging to job invocation

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$/.

id
required

Validations:

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

Search fields

Field name Type Possible values
description string
ended_at datetime
host string
id integer
job_category string
owner string
pattern_template_name string
recurring true, false
recurring_logic.id integer
recurring_logic.purpose string
start_at datetime
started_at datetime
status succeeded, failed, queued, running, cancelled
targeted_host_id string
user string

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

Examples

GET /api/job_invocations/184/hosts/148/raw
404
{
  "error": {
    "message": "Host with id '148' was not found"
  }
}

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 or matching tasks only

Examples

POST /api/job_invocations/82/cancel
{
  "job_invocation": {}
}
422
{
  "message": "The job could not be cancelled."
}

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.

search
optional

Search query to cancel tasks only on matching hosts. If not provided, the whole job invocation will be cancelled.

Validations:

  • String


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

Examples

POST /api/job_invocations/91/rerun
{
  "failed_only": true,
  "job_invocation": {}
}
201
{
  "id": 92,
  "targeting_id": 108,
  "job_category": "Job name 81",
  "task_id": "e56ecf48-2c77-4a3f-9010-793df8262d83",
  "task_group_id": 5,
  "triggering_id": 5,
  "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.

succeeded_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

POST /api/job_invocations/6/outputs
{
  "search_query": "id = 5",
  "job_invocation": {}
}
200
{
  "outputs": [
    {
      "complete": true,
      "refresh": false,
      "output": [],
      "host_id": 5
    }
  ]
}

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