Skip to content

Commit 79f2d47

Browse files
committed
Add workflow to assign v3 project and milestone
1 parent af49240 commit 79f2d47

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Assign v3 project and milestone
2+
3+
on:
4+
issues:
5+
types:
6+
- labeled
7+
pull_request:
8+
types:
9+
- labeled
10+
11+
permissions:
12+
contents: read
13+
issues: write
14+
pull-requests: write
15+
projects: write
16+
17+
jobs:
18+
assign-v3:
19+
if: github.event.label.name == 'v3'
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Add item to v3 project
23+
uses: actions/add-to-project@v0.5.0
24+
with:
25+
project-url: ${{ vars.V3_PROJECT_URL }}
26+
github-token: ${{ secrets.PROJECT_V3_TOKEN }}
27+
- name: Assign v3 milestone
28+
uses: actions/github-script@v7
29+
with:
30+
github-token: ${{ secrets.PROJECT_V3_TOKEN }}
31+
script: |
32+
const core = require('@actions/core');
33+
const payload = context.eventName === 'issues' ? context.payload.issue : context.payload.pull_request;
34+
const issueNumber = payload.number;
35+
const { data: milestones } = await github.rest.issues.listMilestones({
36+
owner: context.repo.owner,
37+
repo: context.repo.repo,
38+
state: 'open',
39+
per_page: 100,
40+
});
41+
const milestone = milestones.find((item) => item.title === 'v3');
42+
if (!milestone) {
43+
core.setFailed('Milestone "v3" was not found.');
44+
return;
45+
}
46+
await github.rest.issues.update({
47+
owner: context.repo.owner,
48+
repo: context.repo.repo,
49+
issue_number: issueNumber,
50+
milestone: milestone.number,
51+
});

0 commit comments

Comments
 (0)