@@ -59,7 +59,7 @@ export default class ApiHelper {
59
59
constructor (
60
60
private readonly octokit : Octokit ,
61
61
private readonly context : Context ,
62
- private readonly logger : Logger ,
62
+ private readonly logger ? : Logger ,
63
63
options ?: { branch ?: string ; sender ?: string ; refForUpdate ?: string ; suppressBPError ?: boolean } ,
64
64
) {
65
65
this . branch = options ?. branch ;
@@ -68,6 +68,15 @@ export default class ApiHelper {
68
68
this . suppressBPError = options ?. suppressBPError ;
69
69
}
70
70
71
+ /**
72
+ * @param {function } caller caller
73
+ */
74
+ private callLogger = ( caller : ( logger : Logger ) => void ) : void => {
75
+ if ( this . logger ) {
76
+ caller ( this . logger ) ;
77
+ }
78
+ } ;
79
+
71
80
/**
72
81
* @return {string|boolean } sender
73
82
*/
@@ -204,7 +213,7 @@ export default class ApiHelper {
204
213
return true ;
205
214
} catch ( error ) {
206
215
if ( this . suppressBPError === true && this . isProtectedBranchError ( error ) ) {
207
- this . logger . warn ( 'Branch is protected.' ) ;
216
+ this . callLogger ( logger => logger . warn ( 'Branch is protected.' ) ) ;
208
217
} else {
209
218
throw error ;
210
219
}
@@ -319,6 +328,18 @@ export default class ApiHelper {
319
328
return { branchName, headName, refName} ;
320
329
} ;
321
330
331
+ /**
332
+ * @param {string } createBranchName branch name
333
+ * @param {PullsCreateParams } detail detail
334
+ * @return {Promise<PullsInfo> } info
335
+ */
336
+ private createPulls = async ( createBranchName : string , detail : PullsCreateParams ) : Promise < PullsInfo > => {
337
+ this . callLogger ( async logger => logger . startProcess ( 'Creating PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ) ;
338
+ const created = await this . pullsCreate ( createBranchName , detail ) ;
339
+ this . callLogger ( logger => logger . endProcess ( ) ) ;
340
+ return Object . assign ( { isPrCreated : true } , created . data ) ;
341
+ } ;
342
+
322
343
/**
323
344
* @param {string } createBranchName branch name
324
345
* @param {PullsCreateParams } detail detail
@@ -327,16 +348,13 @@ export default class ApiHelper {
327
348
public pullsCreateOrUpdate = async ( createBranchName : string , detail : PullsCreateParams ) : Promise < PullsInfo > => {
328
349
const pullRequest = await this . findPullRequest ( createBranchName ) ;
329
350
if ( pullRequest ) {
330
- this . logger . startProcess ( 'Updating PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ;
351
+ this . callLogger ( async logger => logger . startProcess ( 'Updating PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ) ;
331
352
const updated = await this . pullsUpdate ( pullRequest . number , detail ) ;
332
- this . logger . endProcess ( ) ;
353
+ this . callLogger ( logger => logger . endProcess ( ) ) ;
333
354
return Object . assign ( { isPrCreated : false } , updated . data ) ;
334
- } else {
335
- this . logger . startProcess ( 'Creating PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ;
336
- const created = await this . pullsCreate ( createBranchName , detail ) ;
337
- this . logger . endProcess ( ) ;
338
- return Object . assign ( { isPrCreated : true } , created . data ) ;
339
355
}
356
+
357
+ return this . createPulls ( createBranchName , detail ) ;
340
358
} ;
341
359
342
360
/**
@@ -347,16 +365,13 @@ export default class ApiHelper {
347
365
public pullsCreateOrComment = async ( createBranchName : string , detail : PullsCreateParams ) : Promise < PullsInfo > => {
348
366
const pullRequest = await this . findPullRequest ( createBranchName ) ;
349
367
if ( pullRequest ) {
350
- this . logger . startProcess ( 'Creating comment to PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ;
368
+ this . callLogger ( async logger => logger . startProcess ( 'Creating comment to PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ) ;
351
369
await this . createCommentToPr ( createBranchName , detail . body ) ;
352
- this . logger . endProcess ( ) ;
370
+ this . callLogger ( logger => logger . endProcess ( ) ) ;
353
371
return Object . assign ( { isPrCreated : false } , pullRequest ) ;
354
- } else {
355
- this . logger . startProcess ( 'Creating PullRequest... [%s] -> [%s]' , getBranch ( createBranchName , false ) , await this . getRefForUpdate ( false ) ) ;
356
- const created = await this . pullsCreate ( createBranchName , detail ) ;
357
- this . logger . endProcess ( ) ;
358
- return Object . assign ( { isPrCreated : true } , created . data ) ;
359
372
}
373
+
374
+ return this . createPulls ( createBranchName , detail ) ;
360
375
} ;
361
376
362
377
/**
@@ -396,7 +411,7 @@ export default class ApiHelper {
396
411
*/
397
412
private checkDiff = ( files : string [ ] ) : boolean => {
398
413
if ( ! files . length ) {
399
- this . logger . info ( 'There is no diff.' ) ;
414
+ this . callLogger ( logger => logger . info ( 'There is no diff.' ) ) ;
400
415
return false ;
401
416
}
402
417
@@ -410,13 +425,13 @@ export default class ApiHelper {
410
425
* @return {Promise<Octokit.Response<Octokit.GitCreateCommitResponse>> } commit
411
426
*/
412
427
private prepareCommit = async ( rootDir : string , commitMessage : string , files : string [ ] ) : Promise < Octokit . Response < Octokit . GitCreateCommitResponse > > => {
413
- this . logger . startProcess ( 'Creating blobs...' ) ;
428
+ this . callLogger ( logger => logger . startProcess ( 'Creating blobs...' ) ) ;
414
429
const blobs = await this . filesToBlobs ( rootDir , files ) ;
415
430
416
- this . logger . startProcess ( 'Creating tree...' ) ;
431
+ this . callLogger ( logger => logger . startProcess ( 'Creating tree...' ) ) ;
417
432
const tree = await this . createTree ( blobs ) ;
418
433
419
- this . logger . startProcess ( 'Creating commit... [%s]' , tree . data . sha ) ;
434
+ this . callLogger ( logger => logger . startProcess ( 'Creating commit... [%s]' , tree . data . sha ) ) ;
420
435
return this . createCommit ( commitMessage , tree ) ;
421
436
} ;
422
437
@@ -434,13 +449,13 @@ export default class ApiHelper {
434
449
const commit = await this . prepareCommit ( rootDir , commitMessage , files ) ;
435
450
const ref = await this . getRefForUpdate ( true ) ;
436
451
437
- this . logger . startProcess ( 'Updating ref... [%s] [%s]' , ref , commit . data . sha ) ;
452
+ this . callLogger ( logger => logger . startProcess ( 'Updating ref... [%s] [%s]' , ref , commit . data . sha ) ) ;
438
453
if ( await this . updateRef ( commit , ref , false ) ) {
439
454
process . env . GITHUB_SHA = commit . data . sha ;
440
455
exportVariable ( 'GITHUB_SHA' , commit . data . sha ) ;
441
456
}
442
457
443
- this . logger . endProcess ( ) ;
458
+ this . callLogger ( logger => logger . endProcess ( ) ) ;
444
459
return true ;
445
460
} ;
446
461
@@ -461,10 +476,10 @@ export default class ApiHelper {
461
476
const commit = await this . prepareCommit ( rootDir , commitMessage , files ) ;
462
477
const ref = await this . getRef ( headName ) ;
463
478
if ( null === ref ) {
464
- this . logger . startProcess ( 'Creating reference... [%s] [%s]' , refName , commit . data . sha ) ;
479
+ this . callLogger ( logger => logger . startProcess ( 'Creating reference... [%s] [%s]' , refName , commit . data . sha ) ) ;
465
480
await this . createRef ( commit , refName ) ;
466
481
} else {
467
- this . logger . startProcess ( 'Updating reference... [%s] [%s]' , refName , commit . data . sha ) ;
482
+ this . callLogger ( logger => logger . startProcess ( 'Updating reference... [%s] [%s]' , refName , commit . data . sha ) ) ;
468
483
await this . updateRef ( commit , headName , true ) ;
469
484
}
470
485
@@ -479,7 +494,7 @@ export default class ApiHelper {
479
494
const { branchName, headName, refName} = this . getBranchInfo ( createBranchName ) ;
480
495
const pullRequest = await this . findPullRequest ( branchName ) ;
481
496
if ( pullRequest ) {
482
- this . logger . startProcess ( 'Closing PullRequest... [%s]' , branchName ) ;
497
+ this . callLogger ( logger => logger . startProcess ( 'Closing PullRequest... [%s]' , branchName ) ) ;
483
498
if ( message ) {
484
499
await this . createCommentToPr ( branchName , message ) ;
485
500
}
@@ -489,18 +504,18 @@ export default class ApiHelper {
489
504
base : undefined ,
490
505
} ) ;
491
506
} else {
492
- this . logger . info ( 'There is no PullRequest named [%s]' , branchName ) ;
507
+ this . callLogger ( logger => logger . info ( 'There is no PullRequest named [%s]' , branchName ) ) ;
493
508
494
509
const ref = await this . getRef ( headName ) ;
495
510
if ( ! ref ) {
496
- this . logger . info ( 'There is no reference named [%s]' , refName ) ;
511
+ this . callLogger ( logger => logger . info ( 'There is no reference named [%s]' , refName ) ) ;
497
512
return ;
498
513
}
499
514
}
500
515
501
- this . logger . startProcess ( 'Deleting reference... [%s]' , refName ) ;
516
+ this . callLogger ( logger => logger . startProcess ( 'Deleting reference... [%s]' , refName ) ) ;
502
517
await this . deleteRef ( headName ) ;
503
- this . logger . endProcess ( ) ;
518
+ this . callLogger ( logger => logger . endProcess ( ) ) ;
504
519
} ;
505
520
506
521
/**
0 commit comments