{"id":15048182,"url":"https://github.com/github/hubot-pager-me","last_synced_at":"2025-10-04T07:31:38.042Z","repository":{"id":37502532,"uuid":"44947240","full_name":"github/hubot-pager-me","owner":"github","description":"PagerDuty integration for Hubot","archived":false,"fork":true,"pushed_at":"2024-09-19T06:10:58.000Z","size":714,"stargazers_count":12,"open_issues_count":2,"forks_count":25,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-09-30T00:20:18.512Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/hubot-pager-me","language":"CoffeeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hubot-archive/hubot-pager-me","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/github.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-10-26T05:07:45.000Z","updated_at":"2024-09-19T06:11:00.000Z","dependencies_parsed_at":"2023-02-11T13:20:17.236Z","dependency_job_id":null,"html_url":"https://github.com/github/hubot-pager-me","commit_stats":{"total_commits":256,"total_committers":37,"mean_commits":6.918918918918919,"dds":0.62109375,"last_synced_commit":"cc8bc27bfe21aab01413175609325194971cb4bf"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fhubot-pager-me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fhubot-pager-me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fhubot-pager-me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fhubot-pager-me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/hubot-pager-me/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235227462,"owners_count":18956137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T21:08:59.175Z","updated_at":"2025-10-04T07:31:32.691Z","avatar_url":"https://github.com/github.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hubot-pager-me\n\nPagerDuty integration for Hubot\n\n## Installation\n\nIn your hubot repository, run:\n\n`npm install hubot-pager-me --save`\n\nThen add **hubot-pager-me** to your `external-scripts.json`:\n\n```json\n[\"hubot-pager-me\"]\n```\n\n## Configuration\n\n`pager me` requires a bit of configuration to get everything working:\n\n* HUBOT_PAGERDUTY_SUBDOMAIN - Your account subdomain\n* HUBOT_PAGERDUTY_USER_ID - The user id of a PagerDuty user for your bot. This is only required if you want chat users to be able to trigger incidents without their own PagerDuty user\n* HUBOT_PAGERDUTY_API_KEY - Get one from https://\u003cyour subdomain\u003e.pagerduty.com/api_keys\n* HUBOT_PAGERDUTY_SERVICE_API_KEY - Service API Key from a 'General API Service'. This should be assigned to a dummy escalation policy that doesn't actually notify, as hubot will trigger on this before reassigning it\n* HUBOT_PAGERDUTY_SERVICES - (optional) Provide a comma separated list of service identifiers (e.g. `PFGPBFY`) to restrict queries to only those services.\n\n### Webhook\n\nUsing a webhook requires a bit more configuration:\n\n* HUBOT_PAGERDUTY_ENDPOINT - Pagerduty Webhook listener e.g /hook\n* HUBOT_PAGERDUTY_ROOM - Room in which you want the pagerduty webhook notifications to appear\n\nTo setup the webhooks and get the alerts in your chatrooms, you need to add the endpoint you define here (e.g /hooks) in\nthe service settings of your Pagerduty accounts. You also need to define the room in which you want them to appear.\n(Unless you want to spam all the rooms with alerts, but we don't believe that should be the default behavior :)  \n\n## Example interactions\n\nTrigger an incident assigned to a specific user:\n\n```\ntechnicalpickles\u003e hubotjpager trigger jnewland omgwtfbbq\nhubot\u003e technicalpickles: :pager: triggered! now assigning it to the right user...\nhubot\u003e technicalpickles: :pager: assigned to jnewland!\n```\n\nTrigger an incident assigned to an escalation policy:\n\n\n```\ntechnicalpickles\u003e hubot pager trigger ops site is down\nhubot\u003e Shell: :pager: triggered! now assigning it to the right user...\nhubot\u003e Shell: :pager: assigned to ops!\n```\n\nCheck on open incidents:\n\n```\ntechnicalpickles\u003e hubot pager sup\nhubot\u003e\n      Triggered:\n      ----------\n      8: 2014-11-05T20:17:50Z site is down - @technicalpickles - assigned to jnewland\n\n      Acknowledged:\n      -------------\n      7: 2014-11-05T20:16:29Z omgwtfbbq - @technicalpickles - assigned to jnewland\n```\n\nAcknowledge triggered alerts assigned to you:\n\n```\njnewland\u003e /pager ack\nhubot\u003e jnewland: Incident 9 acknowledged\n```\n\nResolve acknowledged alerts assigned to you:\n\n```\njnewland\u003e /pager resolve\nhubot\u003e jnewland: Incident 9 resolved\n```\n\nCheck up coming schedule, and schedule shift overrides on it:\n\n```\ntechnicalpickles\u003e hubot pager schedules\nhubot\u003e * Ops - https://urcompany.pagerduty.com/schedules#DEADBEE\ntechnicalpickles\u003e hubot pager schedule ops\nhubot\u003e * 2014-06-24T09:06:45-07:00 - 2014-06-25T03:00:00-07:00 technicalpickles\n       * 2014-06-25T03:00:00-07:00 - 2014-06-26T03:00:00-07:00 jnewland\n       * 2014-06-26T03:00:00-07:00 - 2014-06-27T03:00:00-07:00 technicalpickles\n       * 2014-06-27T03:00:00-07:00 - 2014-06-28T03:00:00-07:00 jnewland\n       * 2014-06-28T03:00:00-07:00 - 2014-06-29T03:00:00-07:00 technicalpickles\ntechnicalpickles\u003e hubot pager override ops 2014-06-25T03:00:00-07:00 - 2014-06-26T03:00:00-07:00 chrislundquist\nhubot\u003e Override setup! chrislundquist has the pager from 2014-06-25T06:00:00-04:00 until 2014-06-26T06:00:00-04:00\ntechnicalpickles\u003e hubot pager schedule\nhubot\u003e * 2014-06-24T09:06:45-07:00 - 2014-06-25T03:00:00-07:00 technicalpickles\n       * 2014-06-25T03:00:00-07:00 - 2014-06-26T03:00:00-07:00 chrislundquist\n       * 2014-06-26T03:00:00-07:00 - 2014-06-27T03:00:00-07:00 technicalpickles\n       * 2014-06-27T03:00:00-07:00 - 2014-06-28T03:00:00-07:00 jnewland\n       * 2014-06-28T03:00:00-07:00 - 2014-06-29T03:00:00-07:00 technicalpickles\n```\n\n## Conventions\n\nhubot-pager-me makes some assumptions about how you are using PagerDuty:\n\n* PagerDuty email matches chat email\n  * override with `hubot pager me as \u003cpagerduty email\u003e`\n* Schedules' and Escalation Policies' names are letters and dashes (no spaces, digits)\n* The Service used by hubot-pager-me should not be assigned to an escalation policy with real people on it. Instead, it should be a dummy user that doesn't have any notification rules. If this isn't done, the escalation policy assigned to it will be notified, and then hubot will immediately reassign to the proper team\n\n## Development\n\nFork this repository, and clone it locally. To start using with an existing hubot for testing:\n\n* Run `npm install` in hubot-pager-me repository\n* Run `npm link` in hubot-pager-me repository\n* Run `npm link hubot-pager-me` in your hubot directory\n* NOTE: if you are using something like [nodenv](https://github.com/wfarr/nodenv) or similar, make sure your `npm link` from the same node version\n\nThere's a few environment variables useful for testing:\n\n* HUBOT_PAGERDUTY_NOOP: don't actually make POST/PUT HTTP requests\n* HUBOT_PAGERDUTY_TEST_EMAIL: force email of address to this for testing\n\n## Resources\n\n* http://developer.pagerduty.com/documentation/rest/webhooks\n* http://support.pagerduty.com/entries/21774694-Webhooks-\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fhubot-pager-me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Fhubot-pager-me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fhubot-pager-me/lists"}