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 : Link issue to cross-repo milestone parent
2+
3+ on :
4+ issues :
5+ types : [milestoned]
6+
7+ jobs :
8+ link :
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - name : Link to parent issue in aind-scientific-computing
13+ uses : actions/github-script@v7
14+ with :
15+ github-token : ${{ secrets.SERVICE_TOKEN }}
16+ script : |
17+ const issue = context.payload.issue;
18+ const milestone = issue.milestone;
19+
20+ if (!milestone) return;
21+
22+ const targetOwner = "AllenNeuralDynamics";
23+ const targetRepo = "aind-scientific-computing";
24+
25+ const url = milestone.description;
26+ const match = url?.match(/\/issues\/(\d+)$/);
27+
28+ if (!match) {
29+ console.log(`Milestone description is not a roadmap URL: ${url}`);
30+ return;
31+ }
32+
33+ const parentNumber = parseInt(match[1]);
34+
35+ const { data: parent } = await github.rest.issues.get({
36+ owner: targetOwner,
37+ repo: targetRepo,
38+ issue_number: parentNumber
39+ });
40+
41+ if (!parent) {
42+ console.log(`No issue found at ${url}`);
43+ return;
44+ }
45+
46+ await github.request("POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues", {
47+ owner: targetOwner,
48+ repo: targetRepo,
49+ issue_number: parentNumber,
50+ sub_issue_id: issue.id,
51+ headers: {
52+ "X-GitHub-Api-Version": "2022-11-28"
53+ }
54+ });
55+
56+ console.log(`Linked issue #${issue.number} as sub-issue of ${targetRepo}#${parentNumber}`);
You can’t perform that action at this time.
0 commit comments