From fdc7138d4d77ed0577f51f7f01cf40a2fced2a01 Mon Sep 17 00:00:00 2001 From: Aaron Ang Date: Sun, 5 Mar 2017 17:07:09 -0800 Subject: [PATCH 1/2] Link pull requests to release Fixes #13. --- src/handlers/release/published.js | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/handlers/release/published.js diff --git a/src/handlers/release/published.js b/src/handlers/release/published.js new file mode 100644 index 0000000..9550a0c --- /dev/null +++ b/src/handlers/release/published.js @@ -0,0 +1,37 @@ +// @flow + +import github from '../../github'; +import Logger from '../../logger'; + +const { log } = new Logger('release/published.js'); + +type ReleasePublishedPayload = { + release: { + body: string; + html_url: string; + }, + repository: { + owner: { login: string; }; + name: string; + } +}; + +export default function({ release, repository }: ReleasePublishedPayload) { + const { login: owner } = repository.owner; + const { name: repo } = repository; + const { body, html_url: releaseUrl } = release; + + const msg = `Released in ${releaseUrl} :tada:`; + + log('Linking pull requests to release', 'verbose'); + + const regex = /- \[#(\d+)]/g; + + let match; + + while ((match = regex.exec(body)) !== null) { + const issue = match[1]; + log(`Add comment to /repos/${owner}/${repo}/issues/${issue}/comments`, 'verbose'); + github.addIssueComment(issue, owner, repo, msg); + } +} From 881978b81ce7a84ad08a6918e97c11619686c36f Mon Sep 17 00:00:00 2001 From: Aaron Ang Date: Tue, 7 Mar 2017 19:25:23 -0800 Subject: [PATCH 2/2] Link release to issues instead --- src/handlers/release/published.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/handlers/release/published.js b/src/handlers/release/published.js index 9550a0c..6954a15 100644 --- a/src/handlers/release/published.js +++ b/src/handlers/release/published.js @@ -25,12 +25,12 @@ export default function({ release, repository }: ReleasePublishedPayload) { log('Linking pull requests to release', 'verbose'); - const regex = /- \[#(\d+)]/g; + const regex = /(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) \[#(\d+)\]/ig; let match; while ((match = regex.exec(body)) !== null) { - const issue = match[1]; + const issue = match[2]; log(`Add comment to /repos/${owner}/${repo}/issues/${issue}/comments`, 'verbose'); github.addIssueComment(issue, owner, repo, msg); }