Skip to content

Commit

Permalink
[8.10] [OAS] Add Webhook connector configuration details (#163899) (#…
Browse files Browse the repository at this point in the history
…164733)

# Backport

This will backport the following commits from `main` to `8.10`:
- [[OAS] Add Webhook connector configuration details
(#163899)](#163899)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2023-08-22T17:27:35Z","message":"[OAS]
Add Webhook connector configuration details
(#163899)","sha":"6cf859887d8ec943f0cf7a08d4bded5874295053","branchLabelMapping":{"^v8.11.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:ResponseOps","docs","Feature:Actions/ConnectorTypes","v8.10.0","v8.11.0"],"number":163899,"url":"https://github.com/elastic/kibana/pull/163899","mergeCommit":{"message":"[OAS]
Add Webhook connector configuration details
(#163899)","sha":"6cf859887d8ec943f0cf7a08d4bded5874295053"}},"sourceBranch":"main","suggestedTargetBranches":["8.10"],"targetPullRequestStates":[{"branch":"8.10","label":"v8.10.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.11.0","labelRegex":"^v8.11.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/163899","number":163899,"mergeCommit":{"message":"[OAS]
Add Webhook connector configuration details
(#163899)","sha":"6cf859887d8ec943f0cf7a08d4bded5874295053"}}]}]
BACKPORT-->
  • Loading branch information
lcawl authored Aug 24, 2023
1 parent c3a088b commit a87d0ab
Show file tree
Hide file tree
Showing 8 changed files with 368 additions and 11 deletions.
41 changes: 38 additions & 3 deletions docs/api-generated/connectors/connector-apis-passthru.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -1010,6 +1010,7 @@ Any modifications made to this file will be overwritten.
<li><a href="#config_properties_servicenow"><code>config_properties_servicenow</code> - Connector request properties for a ServiceNow ITSM connector</a></li>
<li><a href="#config_properties_servicenow_itom"><code>config_properties_servicenow_itom</code> - Connector request properties for a ServiceNow ITSM connector</a></li>
<li><a href="#config_properties_swimlane"><code>config_properties_swimlane</code> - Connector request properties for a Swimlane connector</a></li>
<li><a href="#config_properties_webhook"><code>config_properties_webhook</code> - Connector request properties for a Webhook connector</a></li>
<li><a href="#connector_response_properties"><code>connector_response_properties</code> - Connector response properties</a></li>
<li><a href="#connector_response_properties_cases_webhook"><code>connector_response_properties_cases_webhook</code> - Connector request properties for a Webhook - Case Management connector</a></li>
<li><a href="#connector_response_properties_email"><code>connector_response_properties_email</code> - Connector response properties for an email connector</a></li>
Expand Down Expand Up @@ -1093,6 +1094,7 @@ Any modifications made to this file will be overwritten.
<li><a href="#secrets_properties_slack_api"><code>secrets_properties_slack_api</code> - Connector secrets properties for a Web API Slack connector</a></li>
<li><a href="#secrets_properties_slack_webhook"><code>secrets_properties_slack_webhook</code> - Connector secrets properties for a Webhook Slack connector</a></li>
<li><a href="#secrets_properties_swimlane"><code>secrets_properties_swimlane</code> - Connector secrets properties for a Swimlane connector</a></li>
<li><a href="#secrets_properties_webhook"><code>secrets_properties_webhook</code> - Connector secrets properties for a Webhook connector</a></li>
<li><a href="#updateConnector_400_response"><code>updateConnector_400_response</code> - </a></li>
<li><a href="#update_connector_request_cases_webhook"><code>update_connector_request_cases_webhook</code> - Update Webhook - Case Managment connector request</a></li>
<li><a href="#update_connector_request_index"><code>update_connector_request_index</code> - Update index connector request</a></li>
Expand Down Expand Up @@ -1450,6 +1452,28 @@ Any modifications made to this file will be overwritten.
<div class="param">mappings (optional)</div><div class="param-desc"><span class="param-type"><a href="#Connector_mappings_properties_for_a_Swimlane_connector">Connector_mappings_properties_for_a_Swimlane_connector</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="config_properties_webhook"><code>config_properties_webhook</code> - Connector request properties for a Webhook connector</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Defines properties for connectors when type is <code>.webhook</code>.</div>
<div class="field-items">
<div class="param">authType (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The type of authentication to use: basic, SSL, or none. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">webhook-authentication-basic</div><div class="param-enum">webhook-authentication-ssl</div><div class="param-enum">null</div>
<div class="param">ca (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> A base64 encoded version of the certificate authority file, which is used to sign and validate certificates. </div>
<div class="param">certType (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> If the <code>authType</code> is <code>webhook-authentication-ssl</code>, specifies whether the certificate authentication data is in a CRT and key file format or a PFX file format. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">ssl-crt-key</div><div class="param-enum">ssl-pfx</div>
<div class="param">hasAuth (optional)</div><div class="param-desc"><span class="param-type"><a href="#boolean">Boolean</a></span> If <code>true</code>, a user name and password must be provided for login type authentication. </div>
<div class="param">headers (optional)</div><div class="param-desc"><span class="param-type"><a href="#">Object</a></span> A set of key-value pairs sent as headers with the request. </div>
<div class="param">method (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The HTTP request method, either <code>post</code> or <code>put</code>. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">post</div><div class="param-enum">put</div>
<div class="param">url (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The request URL. If you are using the <code>xpack.actions.allowedHosts</code> setting, add the hostname to the allowed hosts. </div>
<div class="param">verificationMode (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Controls the verification of certificates. Use <code>full</code> to validate that the provided certificate has an issue date that is within the <code>not_before</code> and <code>not_after</code> dates, chains to a trusted certificate authority (CA), and has a hostname or IP address that matches the names within the certificate. Use <code>certificate</code> to validate the provided certificate and verifies that it is signed by a trusted authority; this option does not check the certificate hostname. Use <code>none</code> to skip certificate validation. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">certificate</div><div class="param-enum">full</div><div class="param-enum">none</div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="connector_response_properties"><code>connector_response_properties</code> - Connector response properties</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>The properties vary depending on the connector type.</div>
Expand Down Expand Up @@ -1723,7 +1747,7 @@ Any modifications made to this file will be overwritten.
<h3><a name="connector_response_properties_webhook"><code>connector_response_properties_webhook</code> - Connector response properties for a Webhook connector</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
<div class="field-items">
<div class="param">config </div><div class="param-desc"><span class="param-type"><a href="#AnyType">map[String, oas_any_type_not_mapped]</a></span> Defines properties for connectors when type is <code>.webhook</code>. </div>
<div class="param">config </div><div class="param-desc"><span class="param-type"><a href="#config_properties_webhook">config_properties_webhook</a></span> </div>
<div class="param">connector_type_id </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The type of connector. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">.webhook</div>
Expand Down Expand Up @@ -1959,12 +1983,12 @@ Any modifications made to this file will be overwritten.
<h3><a name="create_connector_request_webhook"><code>create_connector_request_webhook</code> - Create Webhook connector request</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>The Webhook connector uses axios to send a POST or PUT request to a web service.</div>
<div class="field-items">
<div class="param">config </div><div class="param-desc"><span class="param-type"><a href="#AnyType">map[String, oas_any_type_not_mapped]</a></span> Defines properties for connectors when type is <code>.webhook</code>. </div>
<div class="param">config </div><div class="param-desc"><span class="param-type"><a href="#config_properties_webhook">config_properties_webhook</a></span> </div>
<div class="param">connector_type_id </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The type of connector. </div>
<div class="param-enum-header">Enum:</div>
<div class="param-enum">.webhook</div>
<div class="param">name </div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The display name for the connector. </div>
<div class="param">secrets </div><div class="param-desc"><span class="param-type"><a href="#AnyType">map[String, oas_any_type_not_mapped]</a></span> Defines secrets for connectors when type is <code>.webhook</code>. </div>
<div class="param">secrets </div><div class="param-desc"><span class="param-type"><a href="#secrets_properties_webhook">secrets_properties_webhook</a></span> </div>
</div> <!-- field-items -->
</div>
<div class="model">
Expand Down Expand Up @@ -2392,6 +2416,17 @@ Any modifications made to this file will be overwritten.
<div class="param">apiToken (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> Swimlane API authentication token. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="secrets_properties_webhook"><code>secrets_properties_webhook</code> - Connector secrets properties for a Webhook connector</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Defines secrets for connectors when type is <code>.webhook</code>.</div>
<div class="field-items">
<div class="param">crt (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> If <code>authType</code> is <code>webhook-authentication-ssl</code> and <code>certType</code> is <code>ssl-crt-key</code>, it is a base64 encoded version of the CRT or CERT file. </div>
<div class="param">key (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> If <code>authType</code> is <code>webhook-authentication-ssl</code> and <code>certType</code> is <code>ssl-crt-key</code>, it is a base64 encoded version of the KEY file. </div>
<div class="param">pfx (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> If <code>authType</code> is <code>webhook-authentication-ssl</code> and <code>certType</code> is <code>ssl-pfx</code>, it is a base64 encoded version of the PFX or P12 file. </div>
<div class="param">password (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The password for HTTP basic authentication or the passphrase for the SSL certificate files. If <code>hasAuth</code> is set to <code>true</code> and <code>authType</code> is <code>webhook-authentication-basic</code>, this property is required. </div>
<div class="param">user (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> The username for HTTP basic authentication. If <code>hasAuth</code> is set to <code>true</code> and <code>authType</code> is <code>webhook-authentication-basic</code>, this property is required. </div>
</div> <!-- field-items -->
</div>
<div class="model">
<h3><a name="updateConnector_400_response"><code>updateConnector_400_response</code> - </a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'></div>
Expand Down
124 changes: 122 additions & 2 deletions x-pack/plugins/actions/docs/openapi/bundled.json
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@
"examples": {
"createIndexConnectorRequest": {
"$ref": "#/components/examples/create_index_connector_request"
},
"createWebhookConnectorRequest": {
"$ref": "#/components/examples/create_webhook_connector_request"
}
}
}
Expand All @@ -138,6 +141,9 @@
"examples": {
"createIndexConnectorResponse": {
"$ref": "#/components/examples/create_index_connector_response"
},
"createWebhookConnectorResponse": {
"$ref": "#/components/examples/create_webhook_connector_response"
}
}
}
Expand Down Expand Up @@ -2603,13 +2609,88 @@
"title": "Connector request properties for a Webhook connector",
"description": "Defines properties for connectors when type is `.webhook`.",
"type": "object",
"additionalProperties": true
"properties": {
"authType": {
"type": "string",
"enum": [
"webhook-authentication-basic",
"webhook-authentication-ssl",
"null"
],
"description": "The type of authentication to use: basic, SSL, or none.\n"
},
"ca": {
"type": "string",
"description": "A base64 encoded version of the certificate authority file, which is used to sign and validate certificates."
},
"certType": {
"type": "string",
"description": "If the `authType` is `webhook-authentication-ssl`, specifies whether the certificate authentication data is in a CRT and key file format or a PFX file format.\n",
"enum": [
"ssl-crt-key",
"ssl-pfx"
]
},
"hasAuth": {
"type": "boolean",
"description": "If `true`, a user name and password must be provided for login type authentication.\n"
},
"headers": {
"type": "object",
"nullable": true,
"description": "A set of key-value pairs sent as headers with the request."
},
"method": {
"type": "string",
"default": "post",
"enum": [
"post",
"put"
],
"description": "The HTTP request method, either `post` or `put`.\n"
},
"url": {
"type": "string",
"description": "The request URL. If you are using the `xpack.actions.allowedHosts` setting, add the hostname to the allowed hosts.\n"
},
"verificationMode": {
"type": "string",
"enum": [
"certificate",
"full",
"none"
],
"default": "full",
"description": "Controls the verification of certificates. Use `full` to validate that the provided certificate has an issue date that is within the `not_before` and `not_after` dates, chains to a trusted certificate authority (CA), and has a hostname or IP address that matches the names within the certificate. Use `certificate` to validate the provided certificate and verifies that it is signed by a trusted authority; this option does not check the certificate hostname. Use `none` to skip certificate validation.\n"
}
}
},
"secrets_properties_webhook": {
"title": "Connector secrets properties for a Webhook connector",
"description": "Defines secrets for connectors when type is `.webhook`.",
"type": "object",
"additionalProperties": true
"properties": {
"crt": {
"type": "string",
"description": "If `authType` is `webhook-authentication-ssl` and `certType` is `ssl-crt-key`, it is a base64 encoded version of the CRT or CERT file."
},
"key": {
"type": "string",
"description": "If `authType` is `webhook-authentication-ssl` and `certType` is `ssl-crt-key`, it is a base64 encoded version of the KEY file."
},
"pfx": {
"type": "string",
"description": "If `authType` is `webhook-authentication-ssl` and `certType` is `ssl-pfx`, it is a base64 encoded version of the PFX or P12 file."
},
"password": {
"type": "string",
"description": "The password for HTTP basic authentication or the passphrase for the SSL certificate files. If `hasAuth` is set to `true` and `authType` is `webhook-authentication-basic`, this property is required.\n"
},
"user": {
"type": "string",
"description": "The username for HTTP basic authentication. If `hasAuth` is set to `true` and `authType` is `webhook-authentication-basic`, this property is required.\n"
}
}
},
"create_connector_request_webhook": {
"title": "Create Webhook connector request",
Expand Down Expand Up @@ -4524,6 +4605,24 @@
}
}
},
"create_webhook_connector_request": {
"summary": "Create a webhook connector with SSL authentication.",
"value": {
"name": "my-webhook-connector",
"connector_type_id": ".webhook",
"config": {
"method": "post",
"url": "https://example.com",
"authType": "webhook-authentication-ssl",
"certType": "ssl-crt-key"
},
"secrets": {
"crt": "QmFnIEF0dH...",
"key": "LS0tLS1CRUdJ...",
"password": "my-passphrase"
}
}
},
"create_index_connector_response": {
"summary": "A new index connector.",
"value": {
Expand All @@ -4541,6 +4640,27 @@
"is_system_action": false
}
},
"create_webhook_connector_response": {
"summary": "A new webhook connector.",
"value": {
"id": "900eb010-3b9d-11ee-a642-8ffbb94e38bd",
"name": "my-webhook-connector",
"config": {
"method": "post",
"url": "https://example.com",
"authType": "webhook-authentication-ssl",
"certType": "ssl-crt-key",
"verificationMode": "full",
"headers": null,
"hasAuth": true
},
"connector_type_id": ".webhook",
"is_preconfigured": false,
"is_deprecated": false,
"is_missing_secrets": false,
"is_system_action": false
}
},
"get_connector_response": {
"summary": "A list of connector types",
"value": {
Expand Down
Loading

0 comments on commit a87d0ab

Please sign in to comment.