Connection
Main class that is used to establish a connection and send requests to target sites.
// Gets the content of a PasteBin paste, assuming that we have received its key (`pasteBinKey`) in a prior request.
const connection = new http.Connection('http://pastebin.com/raw/');
connection.addHeader({name: 'Content-Type', value: 'text/plain'});
const response = connection.getSync(pasteBinKey, '');
if (response && response.code === 200) {
let text = '';
response.headers.forEach(function(header) {
text += header.name + ': ' + header.value + '\n';
});
text += '\n' + response.response;
issue.addComment(text);
}
Name | Type | Description |
---|---|---|
headers | Array.<{name: String, value: String}> | A list of headers. |
url | string | The URL of the target site for the connection. Can be empty, as you can specify the URI as a parameter for any request method. |
Connection(url, sslKeyName, timeout)
Creates an object that lets you establish a connection with a target site.
Parameters
Name | Type | Description |
---|---|---|
url | string | The URL of the target site for the connection. Can be empty, as you can specify the URI as a parameter for any request method. |
sslKeyName | string | Optional name of the SSL key that is used to establish a secure connection. If you don't want to specify this parameter, pass 'null'. |
timeout | int | Optional parameter that specifies the connection timeout for outgoing HTTP requests in milliseconds. |
See Also
doSync
addHeader(header, value)
Adds a new header to the current connection. The `value` parameter can also contain references to secrets stored in the settings for a YouTrack app.
Parameters
Name | Type | Description |
---|---|---|
header | Object, string | A header object with the structure {name: string, value: string}. If the value parameter is specified separately, the provided string is used as the name of the header. |
value | string | The value that is assigned to the header. Only considered when the first parameter is specified as a string. |
Return Value
Type | Description |
---|---|
Connection | The current connection object. |
basicAuth(login, password)
Adds an authorization header with the value returned by the Base64.encode(login + ':' + password) function. The `password` parameter also accepts references to secrets stored in the settings for a YouTrack app.
Parameters
Name | Type | Description |
---|---|---|
login | String | The login to use for the authorization request. |
password | String | The password to use for the authorization request. |
Return Value
Type | Description |
---|---|
Connection | The current connection object. |
bearerAuth(token)
Adds an authorization header with the value in "Bearer" format ('Bearer ' + token). The `token` parameter also accepts references to secrets stored in the settings for a YouTrack app.
Parameters
Name | Type | Description |
---|---|---|
token | String | The token to use for the authorization request. |
Return Value
Type | Description |
---|---|
Connection | The current connection object. |
connectSync(uri, queryParams)
Executes a synchronous CONNECT request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
deleteSync(uri, queryParams)
Executes a synchronous DELETE request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
doSync(requestType, uri, queryParams, payload)
Sends a synchronous HTTP request. Note that instead of passing a proper request type with this method, there are dedicated methods that correspond to each request type that you can call directly. For example, getSync or postSync.
Parameters
Name | Type | Description |
---|---|---|
requestType | string | A valid HTTP request type. For a list of supported request types, see REQUEST_TYPES. |
uri | string | A relative URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}> | The query parameters. |
payload | string, Array, Object | The payload to be sent in the request. |
Return Value
Type | Description |
---|---|
Response | An object that represents the HTTP response. |
getSync(uri, queryParams)
Executes a synchronous GET request.
Parameters
Name | Type | Description |
---|---|---|
uri | String | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
headSync(uri, queryParams)
Executes a synchronous HEAD request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
optionsSync(uri, queryParams)
Executes a synchronous OPTIONS request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
patchSync(uri, queryParams, payload)
Executes a synchronous PATCH request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. |
payload | string | The payload to be sent in the request. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
postSync(uri, queryParams, payload)
Executes a synchronous POST request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. If the payload parameter is empty, the query parameters are passed as a form entity. |
payload | string, Object | The payload to be sent in the request. For posting attachment files from YouTrack to a third-party application, pass the payload as an object, set its `type` value to 'multipart/form-data', and pass the attachments in `parts`. For each part, `name`, `size`, `fileName`, and `content` values are required. See an example of such a request below. For details, see Posting Binary Content with multipart/form-data Type |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
Example
const attachment = issue.attachments.first();
connection.postSync('issues/' + issue.id + '/attachments', [], {
type: 'multipart/form-data',
parts: [
{
// These four fields are required for each part.
// Optionally, you can also set the `contentType` value individually for each part.
name: 'my-part-name',
size: attachment.size,
fileName: 'filename',
content: attachment.content
}
]
});
putSync(uri, queryParams, payload)
Executes a synchronous PUT request.
Parameters
Name | Type | Description |
---|---|---|
uri | string | The request URI. The complete URL is a concatenation of the string that is passed to the URL parameter in the Connection constructor and this string. If the URL parameter in the Connection constructor is empty, specify the absolute URL of the target site. |
queryParams | Array.<{name: String, value: String}>, Object | The query parameters. If an object is passed, its keys are considered to be parameter names. If the payload parameter is empty, the query parameters are passed as a form entity. |
payload | string | The payload to be sent in the request. |
Return Value
Type | Description |
---|---|
Response | An object that represents an HTTP response. |
setHeader(header, value)
Sets a header to the current connection. If the specified header already exists, its value is updated. The `value` parameter can also contain references to secrets stored in the settings for a YouTrack app.
Parameters
Name | Type | Description |
---|---|---|
header | Object, string | A header object with the structure {name: string, value: string}. If the value parameter is specified separately, the provided string is used as the name of the header. |
value | string | The value that is assigned to the header. Only considered when the first parameter is specified as a string. |
Return Value
Type | Description |
---|---|
Connection | The current connection object. |