reviewers_add.js (2520B)
1 module.exports = async ({ github, context }) => { 2 const pr_data = await github.rest.pulls.get({ 3 owner: context.repo.owner, 4 repo: context.repo.repo, 5 pull_number: context.issue.number, 6 }); 7 const labels = pr_data.data.labels.map((e) => e.name); 8 const reviewers = new Set(); 9 10 if (labels.includes("build")) { 11 reviewers.add("dundargoc"); 12 reviewers.add("jamessan"); 13 reviewers.add("justinmk"); 14 } 15 16 if (labels.includes("ci")) { 17 reviewers.add("dundargoc"); 18 reviewers.add("jamessan"); 19 reviewers.add("justinmk"); 20 } 21 22 if (labels.includes("column")) { 23 reviewers.add("lewis6991"); 24 } 25 26 if (labels.includes("comment")) { 27 reviewers.add("echasnovski"); 28 } 29 30 if (labels.includes("defaults")) { 31 reviewers.add("gpanders"); 32 } 33 34 if (labels.includes("diagnostic")) { 35 reviewers.add("gpanders"); 36 } 37 38 if (labels.includes("diff")) { 39 reviewers.add("lewis6991"); 40 } 41 42 if (labels.includes("editorconfig")) { 43 reviewers.add("gpanders"); 44 } 45 46 if (labels.includes("marks")) { 47 reviewers.add("bfredl"); 48 } 49 50 if (labels.includes("filetype")) { 51 reviewers.add("clason"); 52 } 53 54 if (labels.includes("inccommand")) { 55 reviewers.add("famiu"); 56 } 57 58 if (labels.includes("lsp")) { 59 reviewers.add("MariaSolOs"); 60 reviewers.add("ribru17"); 61 } 62 63 if (labels.includes("netrw")) { 64 reviewers.add("justinmk"); 65 } 66 67 if (labels.includes("options")) { 68 reviewers.add("famiu"); 69 } 70 71 if (labels.includes("platform:nix")) { 72 reviewers.add("teto"); 73 } 74 75 if (labels.includes("project-management")) { 76 reviewers.add("bfredl"); 77 reviewers.add("justinmk"); 78 } 79 80 if (labels.includes("snippet")) { 81 reviewers.add("MariaSolOs"); 82 } 83 84 if (labels.includes("statusline")) { 85 reviewers.add("famiu"); 86 } 87 88 if (labels.includes("treesitter")) { 89 reviewers.add("bfredl"); 90 reviewers.add("clason"); 91 reviewers.add("lewis6991"); 92 reviewers.add("wookayin"); 93 reviewers.add("ribru17"); 94 } 95 96 if (labels.includes("tui")) { 97 reviewers.add("gpanders"); 98 } 99 100 if (labels.includes("typo")) { 101 reviewers.add("dundargoc"); 102 } 103 104 if (labels.includes("vim-patch")) { 105 reviewers.add("zeertzjq"); 106 } 107 108 // Remove person that opened the PR since they can't review themselves 109 const pr_opener = pr_data.data.user.login; 110 reviewers.delete(pr_opener); 111 112 github.rest.pulls.requestReviewers({ 113 owner: context.repo.owner, 114 repo: context.repo.repo, 115 pull_number: context.issue.number, 116 reviewers: Array.from(reviewers), 117 }); 118 };