File tree Expand file tree Collapse file tree 2 files changed +41
-3
lines changed Expand file tree Collapse file tree 2 files changed +41
-3
lines changed Original file line number Diff line number Diff line change 1+ const {
2+ PR_ACTION ,
3+ PR_AUTHOR ,
4+ PR_BODY ,
5+ PR_NUMBER ,
6+ IGNORE_AUTHORS ,
7+ LABEL_BLOCK ,
8+ LABEL_BLOCK_REASON
9+ } = require ( "./constants" )
10+
11+ module . exports = async ( { github, context, core} ) => {
12+ if ( IGNORE_AUTHORS . includes ( PR_AUTHOR ) ) {
13+ return core . notice ( "Author in IGNORE_AUTHORS list; skipping..." )
14+ }
15+
16+ if ( PR_ACTION != "opened" ) {
17+ return core . notice ( "Only newly open PRs are labelled to avoid spam; skipping" )
18+ }
19+
20+ const RELATED_ISSUE_REGEX = / I s s u e n u m b e r : [ ^ \d \r \n ] + (?< issue > \d + ) / ;
21+ const isMatch = RELATED_ISSUE_REGEX . exec ( PR_BODY ) ;
22+ if ( isMatch == null ) {
23+ core . info ( `No related issue found, maybe the author didn't use the template but there is one.` )
24+
25+ let msg = "No related issues found. Please ensure there is an open issue related to this change to avoid significant delays or closure." ;
26+ await github . rest . issues . createComment ( {
27+ owner : context . repo . owner ,
28+ repo : context . repo . repo ,
29+ body : msg ,
30+ issue_number : PR_NUMBER ,
31+ } ) ;
32+
33+ return await github . rest . issues . addLabels ( {
34+ issue_number : PR_NUMBER ,
35+ owner : context . repo . owner ,
36+ repo : context . repo . repo ,
37+ labels : [ LABEL_BLOCK , LABEL_BLOCK_REASON ]
38+ } )
39+ }
40+ }
Original file line number Diff line number Diff line change 2020 steps :
2121 - uses : actions/checkout@v3
2222 - name : " Debug workflow_run event"
23- env :
24- event_payload : ${{ toJSON(github) }}
25- run : echo $event_payload
23+ run : echo "${{ github }}"
2624 - name : " Ensure related issue is present"
2725 uses : actions/github-script@v6
2826 env :
You can’t perform that action at this time.
0 commit comments