@@ -139,73 +139,75 @@ module.exports = async (
139139 bail ( error . message ) ;
140140 } ;
141141
142- // estimate effort if a PR
143- if ( includeEffort ) {
144- // get PR data
145- const prCommitDataQuery = fs . readFileSync ( `${ basePath } /graphql/prCommitData.gql` , 'utf8' ) ;
146- const prCommitDataParams = {
147- owner : context . repo . owner ,
148- name : context . repo . repo ,
149- number : context . payload . pull_request . number
150- } ;
151- let prCommitData
152- try {
153- let prAllData = await github . graphql ( prCommitDataQuery , prCommitDataParams )
154- prCommitData = prAllData . repository . pullRequest . commits . nodes
155- isDraftPr = prAllData . repository . pullRequest . isDraft
156- } catch ( error ) {
157- bail ( error . message ) ;
158- } ;
159-
160- // move PR to project
161- if ( ! isDraftPr ) {
162- const assignItemQuery = fs . readFileSync ( `${ basePath } /graphql/projectAssignPrIssue.gql` , 'utf8' ) ;
163- const assignItemParams = {
164- project : projectId ,
165- id : prIssueId
166- } ;
167- try {
168- ( { addProjectV2ItemById : { item : { id : projectItemId } } } = await github . graphql ( assignItemQuery , assignItemParams ) ) ;
169- } catch ( error ) {
170- bail ( error . message ) ;
171- } ;
142+ // get PR data
143+ const prCommitDataQuery = fs . readFileSync ( `${ basePath } /graphql/prCommitData.gql` , 'utf8' ) ;
144+ const prCommitDataParams = {
145+ owner : context . repo . owner ,
146+ name : context . repo . repo ,
147+ number : context . payload . pull_request . number
148+ } ;
149+ let prCommitData
150+ try {
151+ let prAllData = await github . graphql ( prCommitDataQuery , prCommitDataParams )
152+ prCommitData = prAllData . repository . pullRequest . commits . nodes
153+ isDraftPr = prAllData . repository . pullRequest . isDraft
154+ } catch ( error ) {
155+ bail ( error . message ) ;
156+ } ;
172157
158+ // leave drafts alone
159+ if ( isDraftPr ) {
160+ return
161+ }
173162
174- // get weekdays since PR's first commit
175- let prCreatedAt = new Date ( )
176- prCommitData . forEach ( commit => {
177- const commitDate = new Date ( commit . commit . authoredDate )
178- if ( commitDate < prCreatedAt ) {
179- prCreatedAt = commitDate
180- }
181- } ) ;
182- const workingDaysSinceCreated = countWorkingDaysSince ( new Date ( prCreatedAt ) ) ;
163+ // move PR to project
164+ const assignItemQuery = fs . readFileSync ( `${ basePath } /graphql/projectAssignPrIssue.gql` , 'utf8' ) ;
165+ const assignItemParams = {
166+ project : projectId ,
167+ id : prIssueId
168+ } ;
169+ try {
170+ ( { addProjectV2ItemById : { item : { id : projectItemId } } } = await github . graphql ( assignItemQuery , assignItemParams ) ) ;
171+ } catch ( error ) {
172+ bail ( error . message ) ;
173+ } ;
183174
184- // map days spent to effort size pattern
185- let milestonePattern ;
186- for ( const [ pattern , dayCount ] of Object . entries ( JSON . parse ( effortMapping ) ) ) {
187- if ( workingDaysSinceCreated < dayCount ) {
188- milestonePattern = pattern ;
189- break ;
190- }
191- } ;
175+ // estimate effort if a PR
176+ if ( includeEffort ) {
177+ // get weekdays since PR's first commit
178+ let prCreatedAt = new Date ( )
179+ prCommitData . forEach ( commit => {
180+ const commitDate = new Date ( commit . commit . authoredDate )
181+ if ( commitDate < prCreatedAt ) {
182+ prCreatedAt = commitDate
183+ }
184+ } ) ;
185+ const workingDaysSinceCreated = countWorkingDaysSince ( new Date ( prCreatedAt ) ) ;
192186
193- // select effort ID based on pattern
194- projectFieldOptions . forEach ( field => {
195- if ( field . name === effortName ) {
196- effortFieldId = field . id ;
197- field . options . forEach ( effort => {
198- if ( effort . name . toLowerCase ( ) . includes ( milestonePattern . toLowerCase ( ) ) )
199- effortValueId = effort . id ;
200- } ) ;
201- } ;
202- } ) ;
187+ // map days spent to effort size pattern
188+ let milestonePattern ;
189+ for ( const [ pattern , dayCount ] of Object . entries ( JSON . parse ( effortMapping ) ) ) {
190+ if ( workingDaysSinceCreated < dayCount ) {
191+ milestonePattern = pattern ;
192+ break ;
193+ }
203194 } ;
195+
196+ // select effort ID based on pattern
197+ projectFieldOptions . forEach ( field => {
198+ if ( field . name === effortName ) {
199+ effortFieldId = field . id ;
200+ field . options . forEach ( effort => {
201+ if ( effort . name . toLowerCase ( ) . includes ( milestonePattern . toLowerCase ( ) ) )
202+ effortValueId = effort . id ;
203+ } ) ;
204+ } ;
205+ } ) ;
204206 } ;
205207 } ;
206208
207- // set milestones & effort
208- if ( includeEffort && ( isPr && ! isDraftPr ) ) {
209+ // set milestones & effort if a PR and includeEffort
210+ if ( includeEffort && isPr ) {
209211 const assignProjectFieldsQuery = fs . readFileSync ( `${ basePath } /graphql/projectEffortItemAssignFields.gql` , 'utf8' ) ;
210212 const assignProjectFieldsParams = {
211213 project : projectId ,
@@ -226,7 +228,8 @@ module.exports = async (
226228 } ;
227229 } ;
228230
229- if ( ! isPr || ( ! isDraftPr && ! includeEffort ) ) {
231+ // set milestones if an Issue or if a PR and not includeEffort
232+ if ( ! isPr || ! includeEffort ) {
230233 const assignProjectFieldsQuery = fs . readFileSync ( `${ basePath } /graphql/projectNoEffortItemAssignFields.gql` , 'utf8' ) ;
231234 const assignProjectFieldsParams = {
232235 project : projectId ,
0 commit comments