Skip to content

Commit 92c8d07

Browse files
authored
feat: do not set milestones on issues (#25)
1 parent c4b880a commit 92c8d07

File tree

2 files changed

+63
-32
lines changed

2 files changed

+63
-32
lines changed

action.js

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ module.exports = async (
156156
};
157157

158158
// leave drafts alone
159-
if (isDraftPr){
159+
if (isDraftPr) {
160160
coreGlob.info("detected PR draft, skipping project assignment");
161161
return
162162
}
@@ -207,48 +207,60 @@ module.exports = async (
207207
};
208208
};
209209

210-
// set milestones & effort if a PR and includeEffort
211-
if (includeEffort && isPr) {
212-
const assignProjectFieldsQuery = fs.readFileSync(`${basePath}/graphql/projectEffortItemAssignFields.gql`, 'utf8');
213-
const assignProjectFieldsParams = {
214-
project: projectId,
215-
item: projectItemId,
216-
status_field: statusFieldId,
217-
status_value: statusValueId,
218-
effort_field: effortFieldId,
219-
effort_value: effortValueId,
220-
primary_milestone_field: monthlyMilestoneFieldId,
221-
primary_milestone_value: monthlyMilestoneValueId,
222-
secondary_milestone_field: quarterlyMilestoneFieldId,
223-
secondary_milestone_value: quarterlyMilestoneValueId
224-
};
225-
try {
226-
await github.graphql(assignProjectFieldsQuery, assignProjectFieldsParams);
227-
} catch (error) {
228-
bail(error.message);
229-
};
230-
coreGlob.info("set project fields including effort");
231-
};
232-
233-
// set milestones if an Issue or if a PR and not includeEffort
234-
if (!isPr || !includeEffort) {
235-
const assignProjectFieldsQuery = fs.readFileSync(`${basePath}/graphql/projectNoEffortItemAssignFields.gql`, 'utf8');
210+
if (isPr) { // set status, milestones & maybe effort if a PR
211+
if (includeEffort) {
212+
const assignProjectFieldsQuery = fs.readFileSync(`${basePath}/graphql/projectEffortItemAssignFields.gql`, 'utf8');
213+
const assignProjectFieldsParams = {
214+
project: projectId,
215+
item: projectItemId,
216+
status_field: statusFieldId,
217+
status_value: statusValueId,
218+
effort_field: effortFieldId,
219+
effort_value: effortValueId,
220+
primary_milestone_field: monthlyMilestoneFieldId,
221+
primary_milestone_value: monthlyMilestoneValueId,
222+
secondary_milestone_field: quarterlyMilestoneFieldId,
223+
secondary_milestone_value: quarterlyMilestoneValueId
224+
};
225+
try {
226+
await github.graphql(assignProjectFieldsQuery, assignProjectFieldsParams);
227+
} catch (error) {
228+
bail(error.message);
229+
};
230+
coreGlob.info("set project fields including effort");
231+
} else {
232+
const assignProjectFieldsQuery = fs.readFileSync(`${basePath}/graphql/projectNoEffortItemAssignFields.gql`, 'utf8');
233+
const assignProjectFieldsParams = {
234+
project: projectId,
235+
item: projectItemId,
236+
status_field: statusFieldId,
237+
status_value: statusValueId,
238+
primary_milestone_field: monthlyMilestoneFieldId,
239+
primary_milestone_value: monthlyMilestoneValueId,
240+
secondary_milestone_field: quarterlyMilestoneFieldId,
241+
secondary_milestone_value: quarterlyMilestoneValueId
242+
};
243+
try {
244+
await github.graphql(assignProjectFieldsQuery, assignProjectFieldsParams);
245+
} catch (error) {
246+
bail(error.message);
247+
};
248+
coreGlob.info("set project fields omitting effort");
249+
}
250+
} else { // set status if an Issue
251+
const assignProjectFieldsQuery = fs.readFileSync(`${basePath}/graphql/projectIssueItemAssignFields.gql`, 'utf8');
236252
const assignProjectFieldsParams = {
237253
project: projectId,
238254
item: projectItemId,
239255
status_field: statusFieldId,
240256
status_value: statusValueId,
241-
primary_milestone_field: monthlyMilestoneFieldId,
242-
primary_milestone_value: monthlyMilestoneValueId,
243-
secondary_milestone_field: quarterlyMilestoneFieldId,
244-
secondary_milestone_value: quarterlyMilestoneValueId
245257
};
246258
try {
247259
await github.graphql(assignProjectFieldsQuery, assignProjectFieldsParams);
248260
} catch (error) {
249261
bail(error.message);
250262
};
251-
coreGlob.info("set project fields omitting effort");
263+
coreGlob.info("set project fields omitting effort & milestones");
252264
}
253265
}
254266

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
mutation (
2+
$project: ID!
3+
$item: ID!
4+
$status_field: ID!
5+
$status_value: String!
6+
) {
7+
status: updateProjectV2ItemFieldValue(
8+
input: {
9+
projectId: $project
10+
itemId: $item
11+
fieldId: $status_field
12+
value: { singleSelectOptionId: $status_value }
13+
}
14+
) {
15+
projectV2Item {
16+
id
17+
}
18+
}
19+
}

0 commit comments

Comments
 (0)