From 32011873b1cec5cbe17bd2cfbddd56147d06baac Mon Sep 17 00:00:00 2001 From: Ryan Laurie <30528226+iethree@users.noreply.github.com> Date: Mon, 3 Jun 2024 08:49:29 -0600 Subject: [PATCH] Tag slack users by github handle (#43420) * tag slack users by github handle * sort users --- .github/github-slack-map.json | 86 +++++++++++++++++++++++++++++++++++ release/src/slack.ts | 19 ++++++-- 2 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 .github/github-slack-map.json diff --git a/.github/github-slack-map.json b/.github/github-slack-map.json new file mode 100644 index 00000000000..c764acc2c10 --- /dev/null +++ b/.github/github-slack-map.json @@ -0,0 +1,86 @@ +{ + "abdhabli": "U06BAV8JFDW", + "adam-james-v": "U02P27ZRRR8", + "agodbey": "U05UJR2C35Z", + "albertoperdomo": "U05811B1WLX", + "AlessioLaiso": "U06MAAUDTS6", + "alexandermkinn": "U023UTA4MUL", + "alexyarosh": "U06GXH3RVPU", + "alxnddr": "U01S9BUHH8X", + "brunobergher": "U01M2JJVA80", + "bshepherdson": "U03AK3B43GA", + "calherries": "U03KFGJ7X8S", + "camsaul": "U07DG6C3X", + "cbalusek": "U02M2Q0DJLD", + "cdeweyx": "U02BX2BKPQS", + "crisptrutski": "U06C5MNFF0S", + "dahyeik": "U03MG3BCS22", + "darksciencebase": "U04P2DVHG3U", + "deniskaber": "U04QX6Z5N00", + "devurandom": "U03N1ATKF7T", + "dhuniverse": "U04RRCGJPJN", + "dpsutton": "U01BP8Z3CVA", + "EmmadUsmani": "U04QX6YUP7A", + "escherize": "U02U4E60EHG", + "filipesilva": "U04S45X3FLN", + "FilmonK": "U05J39TB4A1", + "gusaiani": "U020JGYQHK8", + "heypoom": "U06TVDSUPGE", + "iethree": "U5A85JL4V", + "ignacio-mb": "U0558P1CZ5L", + "imrkd": "U02MJBX8G65", + "ixipixi": "U06C5JCNKM1", + "jeff-bruemmer": "U014JGU9XK2", + "JesseSDevaney": "U0511SK58DC", + "jessillions": "U04P2AKMX4K", + "jesusfloresmetabase": "U04MZ6TGQLA", + "jill-lafond": "U0537V0L2DN", + "johnswanson": "U0600BZ1XMK", + "jrayski": "U03C28SM11N", + "k8beeman": "U06PYT3N7EV", + "kamilmielnik": "U057ENEC60M", + "kdoh": "U078VJFED", + "kidd": "U01JM8WM6N4", + "kulyk": "U01TH98M6J2", + "lbrdnk": "U06035L3V34", + "le0li0n": "U06RDA3M6BZ", + "likeshumidity": "U047NDX34UU", + "losrebellos": "U022B12KVK6", + "luizarakaki": "U02KWASDKHC", + "margaretrimek": "U02AZVBQQU9", + "maxzheng": "U03TBN466EN", + "mazameli": "U0ALDAVHA", + "metamben": "U03AN4TRM6Y", + "mngr": "U06GXDTJQQ3", + "mwsmales": "U043FSUUSNL", + "nemanjaglumac": "U01BA9754AC", + "NevRA": "U04T9044T7G", + "ngapuileung": "U04HP1D66N4", + "noahmoss": "U01V8S8DG78", + "npfitz": "U037YBQFRR7", + "npretto": "U05K43X7RV5", + "oisincoveney": "U0511SKLXCN", + "Onlinehead": "U02S8HGAB8A", + "oreonl": "U05V7TSK1QQ", + "paoliniluis": "U01GWGPG2CF", + "perivamsi": "U05K2EFAT5G", + "piranha": "U060FQBFE5P", + "psalinasy": "U04LYLXV207", + "qnkhuat": "U02LA6FF5N1", + "rafpaf": "U0697CU8TTP", + "ranquild": "U028HG073GS", + "romeovs": "U06DHN2JA5D", + "salsakran": "U078V228G", + "sloansparger": "U06CJAUPV3K", + "snoe": "U03AG715B61", + "Somtom": "U06BREDB5V3", + "taqattack": "U06C70CJ6RM", + "Tony-metabase": "U03RFTD5SLR", + "trinya": "U06CJJB3JJZ", + "tsmacdonald": "U01BKUL0MHV", + "uladzimirdev": "U04TU6TNPLZ", + "vbenedetti": "U04MRS3JTLH", + "victoriaspek": "U02KD3E703E", + "WiNloSt": "U02MYNXD605", + "zbodi74": "U05EV72TPN2" +} diff --git a/release/src/slack.ts b/release/src/slack.ts index 914a6c7ca2b..a7cb9adb851 100644 --- a/release/src/slack.ts +++ b/release/src/slack.ts @@ -1,12 +1,23 @@ import { WebClient } from '@slack/web-api'; -import type { Issue } from './types'; -import { getGenericVersion } from "./version-helpers"; + +import _githubSlackMap from "../../.github/github-slack-map.json"; + +const githubSlackMap: Record<string, string> = _githubSlackMap; + import { findMilestone } from "./github"; -import type { ReleaseProps } from "./types"; +import type { Issue , ReleaseProps } from './types'; +import { getGenericVersion } from "./version-helpers"; const slack = new WebClient(process.env.SLACK_BOT_TOKEN); const SLACK_CHANNEL_NAME = process.env.SLACK_RELEASE_CHANNEL ?? "bot-testing"; +export function mentionUserByGithubLogin(githubLogin: string | null) { + if (githubLogin && githubLogin in githubSlackMap) { + return `<@${githubSlackMap[githubLogin]}>`; + } + return '@unassigned'; +} + export function getChannelTopic(channelName: string) { return slack.conversations.list({ types: 'public_channel', @@ -27,7 +38,7 @@ export async function sendPreReleaseStatus({ milestoneId: number, }) { const blockerText = `* ${openIssues.length } Blockers* -${openIssues.map(issue => ` • <${issue.html_url}|#${issue.number} - ${issue.title}> - @${issue.assignee?.login ?? 'unassigned'}`).join("\n")}`; + ${openIssues.map(issue => ` • <${issue.html_url}|#${issue.number} - ${issue.title}> - ${mentionUserByGithubLogin(issue.assignee?.login)}`).join("\n")}`; const blocks = [ { -- GitLab