File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : PR Label Sync
2+
3+ on :
4+ pull_request_target :
5+ types : [opened, reopened, synchronize]
6+ pull_request :
7+ types : [opened, reopened, synchronize]
8+ workflow_call :
9+ inputs :
10+ copy_issue_labels :
11+ type : boolean
12+ default : true
13+ description : " Copy labels from linked issue"
14+
15+ permissions :
16+ contents : read
17+ pull-requests : write
18+
19+ jobs :
20+ copy-issue-labels :
21+ if : inputs.copy_issue_labels == true
22+ runs-on : ubuntu-latest
23+ steps :
24+ - name : Extract issue number from PR
25+ id : extract-issue
26+ run : |
27+ BODY='${{ github.event.pull_request.body }}'
28+ TITLE='${{ github.event.pull_request.title }}'
29+
30+ ISSUE=$(echo "$BODY $TITLE" | \
31+ grep -oE '(closes|fixes|resolves|addresses)\s+#[[:digit:]]+' | \
32+ grep -oE '#[[:digit:]]+' | head -1 | tr -d '#')
33+
34+ if [ -n "$ISSUE" ]; then
35+ echo "issue_number=$ISSUE" >> "$GITHUB_OUTPUT"
36+ fi
37+
38+ - name : Copy labels from issue to PR
39+ if : steps.extract-issue.outputs.issue_number != ''
40+ run : |
41+ ISSUE_NUM=${{ steps.extract-issue.outputs.issue_number }}
42+ PR_NUM=${{ github.event.pull_request.number }}
43+
44+ LABELS=$(gh issue view "$ISSUE_NUM" --json labels --jq '.labels[].name')
45+
46+ for label in $LABELS; do
47+ gh pr edit "$PR_NUM" --add-label "$label" 2>/dev/null || true
48+ done
49+ env :
50+ GH_TOKEN : ${{ github.token }}
Original file line number Diff line number Diff line change 1+ name : PR Label Sync
2+
3+ on :
4+ pull_request_target :
5+ types : [opened, reopened, synchronize]
6+ pull_request :
7+ types : [opened, reopened, synchronize]
8+ workflow_call :
9+ inputs :
10+ copy_issue_labels :
11+ type : boolean
12+ default : true
13+ description : " Copy labels from linked issue"
14+
15+ permissions :
16+ contents : read
17+ pull-requests : write
18+
19+ jobs :
20+ copy-issue-labels :
21+ if : inputs.copy_issue_labels == true
22+ runs-on : ubuntu-latest
23+ steps :
24+ - name : Extract issue number from PR
25+ id : extract-issue
26+ run : |
27+ BODY='${{ github.event.pull_request.body }}'
28+ TITLE='${{ github.event.pull_request.title }}'
29+
30+ ISSUE=$(echo "$BODY $TITLE" | \
31+ grep -oE '(closes|fixes|resolves|addresses)\s+#[[:digit:]]+' | \
32+ grep -oE '#[[:digit:]]+' | head -1 | tr -d '#')
33+
34+ if [ -n "$ISSUE" ]; then
35+ echo "issue_number=$ISSUE" >> "$GITHUB_OUTPUT"
36+ fi
37+
38+ - name : Copy labels from issue to PR
39+ if : steps.extract-issue.outputs.issue_number != ''
40+ run : |
41+ ISSUE_NUM=${{ steps.extract-issue.outputs.issue_number }}
42+ PR_NUM=${{ github.event.pull_request.number }}
43+
44+ LABELS=$(gh issue view "$ISSUE_NUM" --json labels --jq '.labels[].name')
45+
46+ for label in $LABELS; do
47+ gh pr edit "$PR_NUM" --add-label "$label" 2>/dev/null || true
48+ done
49+ env :
50+ GH_TOKEN : ${{ github.token }}
You can’t perform that action at this time.
0 commit comments