From b8dfaeb31e8df539b5ad0ca1af9b454fde231c32 Mon Sep 17 00:00:00 2001 From: Stephen Yeargin Date: Wed, 3 Apr 2024 19:45:25 -0500 Subject: [PATCH 1/2] Check for empty match on incident lookup --- src/scripts/pagerduty.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/scripts/pagerduty.js b/src/scripts/pagerduty.js index 09ecad1..dcc83fb 100644 --- a/src/scripts/pagerduty.js +++ b/src/scripts/pagerduty.js @@ -105,6 +105,12 @@ module.exports = function (robot) { return; } + if (!incident || !incident['incident']) { + logger.debug(incident); + msg.send('No matching incident found for `msg.match[3]`.'); + return; + } + msg.send(formatIncident(incident['incident'])); }); }); From 4fc0cdf4a35674e4ee37711f66c01f67b2f7a18d Mon Sep 17 00:00:00 2001 From: Stephen Yeargin Date: Thu, 4 Apr 2024 08:47:59 -0500 Subject: [PATCH 2/2] Tighten up regex --- src/scripts/pagerduty.js | 2 +- test/pager-me-test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scripts/pagerduty.js b/src/scripts/pagerduty.js index dcc83fb..2852a31 100644 --- a/src/scripts/pagerduty.js +++ b/src/scripts/pagerduty.js @@ -92,7 +92,7 @@ module.exports = function (robot) { msg.send("Okay, I've forgotten your PagerDuty email"); }); - robot.respond(/(pager|major)( me)? incident (.*)$/i, function (msg) { + robot.respond(/(pager|major)( me)? incident ([a-z0-9]+)$/i, function (msg) { msg.finish(); if (pagerduty.missingEnvironmentForApi(msg)) { diff --git a/test/pager-me-test.js b/test/pager-me-test.js index bb77052..5812039 100644 --- a/test/pager-me-test.js +++ b/test/pager-me-test.js @@ -35,7 +35,7 @@ describe('pagerduty', function () { }); it('registers a pager incident listener', function () { - expect(this.robot.respond).to.have.been.calledWith(/(pager|major)( me)? incident (.*)$/i); + expect(this.robot.respond).to.have.been.calledWith(/(pager|major)( me)? incident ([a-z0-9]+)$/i); }); it('registers a pager sup listener', function () {