Search Knowledge Base by Keyword

JetPatch

< Back

Overview

JetPatch is a patch management and remediation platform for server estates. It sits above the native patching tools on each operating system, keeps an inventory of managed endpoints and their agents, tracks which updates each machine is missing against a compliance baseline, and groups the fixes into remediation plans that can be scheduled and tracked to completion. Its server component is addressed on the API as vmanage-server.

The ReadyWorks connector authenticates to that API with HTTP digest authentication, using the username and password you supply, and then issues plain GET calls against the JetPatch REST paths. Each shipped job writes into its own staging table in the ReadyWorks estate: endpoints, patch and endpoint compliance, the patch catalogue and the remediation plan list.

This is what makes patch state a first-class part of the estate rather than a report that lives inside JetPatch. Once the endpoint list is reconciled against the device records already in the fabric, you can see which machines JetPatch does not know about, which are behind on compliance, and which are named in an open remediation plan. That drives readiness gates on a migration or refresh wave: a device that is out of patch compliance or is mid-remediation is not a device you want to touch this weekend.

The connector is declared bidirectional. The inbound side is where the value is, with six shipped jobs. The outbound side exposes a full job form (endpoint, method type, outbound and return field lists and a raw JSON template) and ships one generic POST shell with no endpoint set, so any write back into JetPatch has to be configured from scratch.

Connector Properties

Property Value
Identifier JETPATCH CONNECTOR
Name JetPatch
Description Connector for pulling endpoint, remediation plans and compliance information from JetPatch
Job Types Both Inbound and Outbound
Order 260
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-11-18
Hooks None
Additional Job Fields None
Image

Authentication Methods

One authentication method is shipped. JetPatch’s API uses HTTP digest authentication rather than a token exchange.

Method Identifier Base Method Script Order Enabled Config Fields
Digest Authentication with username / password JETPATCH CONNECTOR_jetpatch JSON Rest API_jetpatch json_rest_api.php 160 Yes 5

Method 1: Digest Authentication with username / password (JETPATCH CONNECTOR_jetpatch)

JetPatch Digest Authentication

Sends the username and password using HTTP digest, which means cURL answers the server’s challenge with a hashed response instead of putting the credential on the wire. Use a JetPatch service account with read access to the server inventory and the patch governance area. There is no token to fetch and no session to hold, so every request carries its own challenge and response.

Connection Configuration Fields (5)

Order Label Type Required Default Max Len Tooltip
10 API Domain text Yes https://demo.jetpatch.com 255 Enter API domain of the Connection
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Enter username of the Connection
50 Password password No 64000 Enter password of the Connection
250 Additional Job Fields fields_list No Enter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

Header Value Base64
Content-Type: application/json Off

cURL options:

Option Authentication Call Data Calls
USERAGENT Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0 Same
SSL_VERIFYHOST false Same
SSL_VERIFYPEER false Same
RETURNTRANSFER true Same
FOLLOWLOCATION true Same
FAILONERROR true Same
USERPWD %user_name%:%user_pass% Same
HTTPAUTH !!CURLAUTH_DIGEST !CURLAUTH_DIGEST

NOTE: This method’s connection form has no Single Authentication field, so the connector-level setting of No applies and cannot be overridden. Every pagination and enumeration loop re-runs the digest handshake, which is an extra round trip per call.

NOTE: The API Domain field is pre-filled with https://demo.jetpatch.com. Replace it with your own JetPatch URL.

Inbound Job Fields Enabled (44)

The inbound job form carries the full generic REST field set, including pagination, the three enumeration levels and the raw JSON body.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
40 Use Unparsed Data radio No No Choose if you wish to parse the incoming data, or leave it in its raw format
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
170 Method Type select Yes GET Select method type of the Job
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
220 Raw JSON Body Data textarea No Enter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230 API Return Data Node text No Enter API return data node of the Job
250 Pagination Type select No None Select request paging type of the Job
270 API Pagination Node text No Enter API pagination node of the Job
280 Pagination Offset Start text No Enter request paging offset start of the Job
290 Pagination Limit text No Enter request pagination limit of the Job
300 Pagination Termination Node text No Enter request paging termination node and value of the Job
310 Maximum API Calls text No Enter maximum number of API calls for the Job to make
320 Enumeration 1 Type select No None Enter enumeration level 1 type
330 Enumeration 1 ETL Job lookup No Select ETL job for the enumeration values
340 Enumeration 1 Data Type data_type No Select the data type and fields for enumeration 1 values
350 Enumeration 1 Keys End Point text No Enter enumeration 1 keys end point of the Job
360 Enumeration 1 Node text No Enter enumeration 1 node of the Job
370 Enumeration 1 Fields fields_list No Enter enumeration 1 fields of the Job
380 Enumeration 2 Type select No None Enter enumeration level 2 type
390 Enumeration 2 ETL Job lookup No Select ETL job for the enumeration 2 values
400 Enumeration 2 Data Type data_type No Select the data type and fields for enumeration 2 values
410 Enumeration 2 Keys End Point text No Enter enumeration 2 keys end point of the Job
420 Enumeration 2 Node text No Enter enumeration 2 node of the Job
430 Enumeration 2 Fields fields_list No Enter enumeration 2 fields of the Job
440 Enumeration 3 Type select No None Enter enumeration level 3 type
450 Enumeration 3 ETL Job lookup No Select ETL job for the enumeration 3 values
460 Enumeration 3 Data Type data_type No Select the data type and fields for enumeration 3 values
470 Enumeration 3 Keys End Point text No Enter enumeration 3 keys end point of the Job
480 Enumeration 3 Node text No Enter enumeration 3 node of the Job
490 Enumeration 3 Fields fields_list No Enter enumeration 3 fields of the Job
500 Pause Enumeration text No Enter values for pausing enumeration every X calls for Y seconds
510 Kill Enumeration on Error radio No No Choose to stop the enumeration loop on an error or continue processing the loop
520 Additional Fields fields_list No Enter list of additional fields to add to staging data
550 Retry Pause text No Enter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560 Order text Yes Enter order of the Job

NOTE: Several field labels and tooltips on this form carry unedited text from the shared templates. Enumaration 1 Node is misspelled, and the tooltip on Enumeration 1 Keys End Point reads “Enter enumeration 2 keys end point of the Job”. The fields themselves behave as their level numbers say.

Outbound Job Fields Enabled (13)

Thirteen outbound job fields are exposed, covering the endpoint, method type, data sending methods, the outbound and return field lists and a raw JSON template that overrides the generated body.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
30 Enabled radio Yes Yes Choose if Job is enabled
50 Log Raw API Calls radio Yes No Choose if raw API calls are logged
170 Method Type select Yes GET Select method type of the Job
180 Data Sending Method select Yes JSON Encoded Data Select method for sending the outbound data
190 API End Point text No Enter API end point of the Job
200 API Data Parameters fields_list No Enter API data parameters of the Job
210 Body Data Sending Method select Yes JSON Encoded Data Select method for sending the body data
260 Return Data Fields List fields_list Yes Enter return data fields of the Job
530 Outbound Fields List fields_list Yes Enter outbound fields of the Job
540 Ignore Empty Outbound Fields radio No Yes Ignore, and do not include, any outbound fields that are empty and have no data
550 Raw JSON Outbound Template textarea No Enter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560 Order text Yes Enter order of the Job

Inbound Job Templates (6)

Six inbound templates ship, all disabled. Together they cover the four things ReadyWorks wants from JetPatch: what is managed, what is missing, what is available and what is planned.

# Job Description Destination Table API End Point Enabled What It Pulls
1 Retrieve Endpoints jetpatch_endpoints /vmanage-server/rest/rest-api/servers/ No The managed server inventory from /vmanage-server/rest/rest-api/servers/: one row per endpoint JetPatch manages, with its identity, agent state and operating system details. This is the join key to the device records already in the estate.
2 Retrieve Endpoint Compliance jetpatch_endpoint_compliance /vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 No Per-server compliance rows from the patch governance area, filtered to a single remediation plan by the shipped remediationPlanId parameter. It answers how each endpoint stands against that plan’s baseline.
3 Retrieve Patch Compliance jetpatch_servers_compliance /vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1 No The same servers-compliance collection without the plan filter, landing in its own table: the compliance posture of every server against the governance baseline, which patches are outstanding and how far behind each machine is.
4 Rest GET API api_data Not set No An empty GET skeleton with no endpoint set, writing to a staging table called api_data. Copy it to reach any JetPatch path the five named templates do not cover.
5 Retrieve Patches jetpatch_patches /vmanage-server/rest/experimental/patch-governance/updates?page=0&size=-1 No The patch catalogue from the patch governance updates endpoint: the individual updates JetPatch knows about, with their identifiers and metadata, requested in a single unbounded page.
6 Retrieve Remediation Plans jetpatch_remediation_plans /vmanage-server/rest/experimental/patch-governance/remediation-plans No The remediation plan list: the scheduled patching campaigns defined in JetPatch, with their identity and configuration. Use it to look up the plan identifier that the endpoint compliance job filters on.

Job Template Configuration

Settings Common to All Six Templates

Setting Value
Enabled No
Job Schedule Daily (15 1 * * *)
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
Body Data Sending Method JSON Encoded Data

Settings That Vary by Template

Template ID Order Destination Table Data Identity API End Point
Retrieve Endpoints 81 5 jetpatch_endpoints /vmanage-server/rest/rest-api/servers/
Retrieve Endpoint Compliance 76 10 jetpatch_endpoint_compliance api_data /vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1
Retrieve Patch Compliance 77 10 jetpatch_servers_compliance api_data /vmanage-server/rest/experimental/patch-governance/servers-compliance?size=-1
Rest GET API 78 10 api_data api_data Not set
Retrieve Patches 79 100 jetpatch_patches /vmanage-server/rest/experimental/patch-governance/updates?page=0&size=-1
Retrieve Remediation Plans 80 101 jetpatch_remediation_plans api_data /vmanage-server/rest/experimental/patch-governance/remediation-plans

Job Parameters and Enumeration

Retrieve Endpoint Compliance

API data parameters:

Key Value
remediationPlanId 29501

NOTE: All six templates ship with Enabled = No. Review the endpoints and schedules, then enable the ones you need.

NOTE: Four of the six call paths under /rest/experimental/. JetPatch may change the shape of an experimental endpoint between releases, so re-check these jobs after a JetPatch upgrade.

Outbound Job Templates (1)

One outbound template ships as a generic shell.

# Job Description Method API End Point Enabled What It Does
1 Rest POST API POST Not set No A disabled POST skeleton with no endpoint set. It sends a single Record Key field and expects status, message and data.record_key back. Configure the endpoint and the outbound field list to match whatever JetPatch call you intend to make.

Job Template Configuration

Settings

Setting Value
Order 10
Enabled No
Log Raw API Calls No
Method Type POST
Body Data Sending Method JSON Encoded Data
Data Sending Method JSON Encoded Data
Ignore Empty Outbound Fields Yes

Job Parameters and Enumeration

Rest POST API

Outbound fields list:

Label Name Type Required Pattern
Record Key record_key String on

Return data fields:

Label Name
Return Status status
Return Message message
Record Key data.record_key