File tree 1 file changed +46
-29
lines changed
1 file changed +46
-29
lines changed Original file line number Diff line number Diff line change @@ -28,46 +28,63 @@ jobs:
28
28
29
29
const closedDate = new Date().toISOString().split('T')[0];
30
30
31
- const items = await github.graphql.paginate(`
32
- query($projectId: ID!) {
33
- node(id: $projectId) {
34
- ... on ProjectV2 {
35
- items(first: 100) {
36
- nodes {
37
- id
38
- content {
39
- ... on Issue {
40
- title
41
- number
31
+ const allItems = [];
32
+ let hasNextPage = true;
33
+ let endCursor = null;
34
+
35
+ while (hasNextPage) {
36
+ const response = await github.graphql(`
37
+ query($projectId: ID!, $after: String) {
38
+ node(id: $projectId) {
39
+ ... on ProjectV2 {
40
+ items(first: 50, after: $after) {
41
+ nodes {
42
+ id
43
+ content {
44
+ ... on Issue {
45
+ title
46
+ number
47
+ }
42
48
}
43
- }
44
- fieldValues(first: 20) {
45
- nodes {
46
- ... on ProjectV2ItemFieldSingleSelectValue {
47
- field {
48
- id
49
+ fieldValues(first: 20) {
50
+ nodes {
51
+ ... on ProjectV2ItemFieldSingleSelectValue {
52
+ field {
53
+ id
54
+ name
55
+ }
49
56
name
57
+ optionId
50
58
}
51
- name
52
- optionId
53
- }
54
- ... on ProjectV2ItemFieldDateValue {
55
- field {
56
- id
57
- name
59
+ ... on ProjectV2ItemFieldDateValue {
60
+ field {
61
+ id
62
+ name
63
+ }
64
+ date
58
65
}
59
- date
60
66
}
61
67
}
62
68
}
69
+ pageInfo {
70
+ hasNextPage
71
+ endCursor
72
+ }
63
73
}
64
74
}
65
75
}
66
76
}
67
- }
68
- `, {
69
- projectId,
70
- });
77
+ `, {
78
+ projectId,
79
+ after: endCursor,
80
+ });
81
+
82
+ const items = response.node.items.nodes;
83
+ allItems.push(...items);
84
+
85
+ hasNextPage = response.node.items.pageInfo.hasNextPage;
86
+ endCursor = response.node.items.pageInfo.endCursor;
87
+ }
71
88
72
89
for (const item of items.node.items.nodes) {
73
90
const hasClosedDate = item.fieldValues.nodes.find(f => f.field.id === closedDateFieldId)?.date;
You can’t perform that action at this time.
0 commit comments