@mapbox/pagerduty
v4.0.0
Published
A Node.js SDK for the PagerDuty v2 API
Downloads
46
Maintainers
Keywords
Readme
pagerduty
A Node.js SDK for the PagerDuty v2 API
API
First, create a new PagerDuty SDK object. A PagerDuty API token that will be used by default for all methods can be included by specifying the pagerDutyToken
option.
Parameters
options.pagerDutyToken
string PagerDuty access tokenoptions.timeout
string? number of milliseconds used for read and connection timouets - defaults to 10 seconds if not specified
Example
const PagerDuty = require('@mapbox/pagerduty');
const pd = new PagerDuty({
pagerDutyToken: process.env.API_TOKEN
});
pd.get({
path: 'services'
...
get
Make a GET request to the PagerDuty API. You can choose to receive a specific
response body property by specifying an options.key
; otherwise, the entire
response body will be returned. The PagerDuty access token can be provided
explicitly.
Parameters
options.path
string URL path and queryoptions.key
string? Response body property to returnoptions.token
string? PagerDuty access tokenoptions.timeout
string? number of milliseconds used for read and connection timouets
Example
const PagerDuty = require('@mapbox/pagerduty');
const pd = new PagerDuty();
const id = 'PPPPPPA';
pd.get({
path: `users/${id}`,
key: 'user'
}, (err, res) => {
if (err) throw err;
console.log(`Successfully fetched ${res[0].name} with ID ${id}.`);
});
post
Make a POST request to the PagerDuty API. The PagerDuty access token can be provided explicitly.
Parameters
options.path
string URL path and queryoptions.body
object POST request bodyoptions.headers
object? Additional headers, excludingAccept
andAuthorization
options.token
string? PagerDuty access tokenoptions.timeout
string? number of milliseconds used for read and connection timouets
Example
const PagerDuty = require('@mapbox/pagerduty');
const pd = new PagerDuty();
pd.post({
path: 'users',
body: {
user: {
type: 'user',
name: 'Dev Null',
email: '[email protected]',
time_zone: 'America/New_York',
color: 'blue-violet',
role: 'user'
}
},
headers: {
From: '[email protected]'
}
}, (err, res) => {
if (err) throw err;
console.log(`Created ${res.body.user.summary} with ID ${res.body.user.id}.`);
});
put
Make a PUT request to the PagerDuty API. The PagerDuty access token can be provided explicitly.
Parameters
options.path
string URL path and queryoptions.body
object PUT request bodyoptions.headers
object? Additional headers, excludingAccept
andAuthorization
options.token
string? PagerDuty access tokenoptions.timeout
string? number of milliseconds used for read and connection timouets
Example
const PagerDuty = require('@mapbox/pagerduty');
const pd = new PagerDuty();
const id = 'PPPPPPA';
pd.put({
path: `users/${id}`,
body: {
user: {
job_title: 'Software Engineer'
}
}
}, (err, res) => {
if (err) throw err;
console.log(`Successfully updated ${res.body.user.name}'s user description to ${res.body.user.description}`);
});
delete
Make a DELETE request to the PagerDuty API. The PagerDuty access token can be provided explicitly.
Parameters
options.path
string URL path and queryoptions.token
string? PagerDuty access tokenoptions.timeout
string? number of milliseconds used for read and connection timouets
Example
const PagerDuty = require('@mapbox/pagerduty');
const pd = new PagerDuty();
const id = 'PPPPPPA';
pd.delete({
path: `users/${id}`
}, (err, res) => {
if (err) throw err;
console.log(`Successfully deleted user ID ${id}.`);
});