npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mapbox/pagerduty

v4.0.0

Published

A Node.js SDK for the PagerDuty v2 API

Downloads

46

Readme

Build Status

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 token
  • options.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 query
  • options.key string? Response body property to return
  • options.token string? PagerDuty access token
  • options.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 query
  • options.body object POST request body
  • options.headers object? Additional headers, excluding Accept and Authorization
  • options.token string? PagerDuty access token
  • options.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 query
  • options.body object PUT request body
  • options.headers object? Additional headers, excluding Accept and Authorization
  • options.token string? PagerDuty access token
  • options.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 query
  • options.token string? PagerDuty access token
  • options.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}.`);
});