@@ -440,18 +440,20 @@ export class Repository extends FetcherExtended {
440
440
#doFetchMilestones = false ;
441
441
#doFetchIssues = false ;
442
442
#doFetchCollaborators = false ;
443
+ #doFetchContributions = false ;
443
444
444
445
static defaultPageSize = 10 ;
445
- #rootPageSize: number ;
446
- #vulnerabilitiesPageSize: number ;
447
- #topicsPageSize: number ;
448
- #labelsPageSize: number ;
449
- #releasesPageSize: number ;
450
- #deploymentsPageSize: number ;
451
- #languagesPageSize: number ;
452
- #milestonesPageSize: number ;
453
- #issuesPageSize: number ;
454
- #collaboratorsPageSize: number ;
446
+ #rootPageSize: number = Repository . defaultPageSize ;
447
+ #vulnerabilitiesPageSize: number = Repository . defaultPageSize ;
448
+ #topicsPageSize: number = Repository . defaultPageSize ;
449
+ #labelsPageSize: number = Repository . defaultPageSize ;
450
+ #releasesPageSize: number = Repository . defaultPageSize ;
451
+ #deploymentsPageSize: number = Repository . defaultPageSize ;
452
+ #languagesPageSize: number = Repository . defaultPageSize ;
453
+ #milestonesPageSize: number = Repository . defaultPageSize ;
454
+ #issuesPageSize: number = Repository . defaultPageSize ;
455
+ #collaboratorsPageSize: number = Repository . defaultPageSize ;
456
+ #contributionsPageSize: number = Repository . defaultPageSize ;
455
457
456
458
#rootContinueAfter: string | undefined | null = null ;
457
459
#vulnerabilitiesContinueAfter: string | undefined | null = null ;
@@ -463,6 +465,7 @@ export class Repository extends FetcherExtended {
463
465
#milestonesContinueAfter: string | undefined | null = null ;
464
466
#issuesContinueAfter: string | undefined | null = null ;
465
467
#collaboratorsContinueAfter: string | undefined | null = null ;
468
+ #contributionsContinueAfter: string | undefined | null = null ;
466
469
467
470
#count_nodes = false ;
468
471
#log = false ;
@@ -474,18 +477,7 @@ export class Repository extends FetcherExtended {
474
477
) {
475
478
super ( ( "name" in args ) ? args . name : null ) ;
476
479
477
- this . #log = DEV_MODE ;
478
-
479
- this . #rootPageSize = Repository . defaultPageSize ;
480
- this . #vulnerabilitiesPageSize = Repository . defaultPageSize ;
481
- this . #topicsPageSize = Repository . defaultPageSize ;
482
- this . #labelsPageSize = Repository . defaultPageSize ;
483
- this . #releasesPageSize = Repository . defaultPageSize ;
484
- this . #deploymentsPageSize = Repository . defaultPageSize ;
485
- this . #languagesPageSize = Repository . defaultPageSize ;
486
- this . #milestonesPageSize = Repository . defaultPageSize ;
487
- this . #issuesPageSize = Repository . defaultPageSize ;
488
- this . #collaboratorsPageSize = Repository . defaultPageSize ;
480
+ this . #log = DEV_MODE
489
481
490
482
this . #parseScopes( args . scopes ) ;
491
483
}
@@ -567,6 +559,10 @@ export class Repository extends FetcherExtended {
567
559
this . #collaboratorsPageSize = ps . pageSize ?? this . #collaboratorsPageSize;
568
560
this . #collaboratorsContinueAfter = this . #validateCursor( ps . continueAfter ) ;
569
561
break ;
562
+ case GITHUB_REPOSITORY_SCOPES . CONTRIBUTIONS :
563
+ this . #doFetchContributions = true ;
564
+ this . #contributionsPageSize = ps . pageSize ?? this . #contributionsPageSize;
565
+ this . #contributionsContinueAfter = this . #validateCursor( ps . continueAfter ) ;
570
566
default :
571
567
break ;
572
568
}
@@ -625,7 +621,8 @@ export class Repository extends FetcherExtended {
625
621
${ this . #releasesBody( ) }
626
622
${ this . #deploymentsBody( ) }
627
623
${ this . #languagesBody( ) }
628
- ${ this . #collaboratorsBody( ) }
624
+ ${ this . #collaboratorsBody( ) }
625
+ ${ this . #contributionsBody( ) }
629
626
}
630
627
` ;
631
628
}
@@ -651,7 +648,8 @@ export class Repository extends FetcherExtended {
651
648
${ this . #releasesBody( ) }
652
649
${ this . #deploymentsBody( ) }
653
650
${ this . #languagesBody( ) }
654
- ${ this . #collaboratorsBody( ) }
651
+ ${ this . #collaboratorsBody( ) }
652
+ ${ this . #contributionsBody( ) }
655
653
}
656
654
}` ;
657
655
}
@@ -678,8 +676,10 @@ export class Repository extends FetcherExtended {
678
676
${ this . #milestonesBody(
679
677
issues_states ?? [ GITHUB_MILESTONE_ISSUE_STATES . OPEN ] ,
680
678
milestones_amount ,
681
- milestone_number ,
682
- ) }
679
+ milestone_number ) }
680
+
681
+ ${ this . #collaboratorsBody( ) }
682
+ ${ this . #contributionsBody( ) }
683
683
}
684
684
` ;
685
685
}
@@ -709,8 +709,10 @@ export class Repository extends FetcherExtended {
709
709
${ this . #milestonesBody(
710
710
issues_states ?? [ GITHUB_MILESTONE_ISSUE_STATES . OPEN ] ,
711
711
milestones_amount ,
712
- milestone_number ,
713
- ) }
712
+ milestone_number ) }
713
+
714
+ ${ this . #collaboratorsBody( ) }
715
+ ${ this . #contributionsBody( ) }
714
716
}
715
717
}` ;
716
718
}
@@ -886,8 +888,7 @@ export class Repository extends FetcherExtended {
886
888
if ( this . #log) console . info ( "fetching releases" ) ;
887
889
888
890
return `
889
- releases(first: ${ this . #releasesPageSize} , after: ${ this . #releasesContinueAfter
890
- } ) {
891
+ releases(first: ${ this . #releasesPageSize} , after: ${ this . #releasesContinueAfter} ) {
891
892
${ this . #count_nodes ? "totalCount" : "" }
892
893
893
894
pageInfo {
@@ -951,8 +952,7 @@ export class Repository extends FetcherExtended {
951
952
if ( this . #log) console . info ( "fetching deployments" ) ;
952
953
953
954
return `
954
- deployments(first: ${ this . #deploymentsPageSize} , after: ${ this . #deploymentsContinueAfter
955
- } ) {
955
+ deployments(first: ${ this . #deploymentsPageSize} , after: ${ this . #deploymentsContinueAfter} ) {
956
956
${ this . #count_nodes ? "totalCount" : "" }
957
957
958
958
pageInfo {
@@ -963,7 +963,6 @@ export class Repository extends FetcherExtended {
963
963
nodes {
964
964
updatedAt
965
965
createdAt
966
- updatedAt
967
966
description
968
967
environment
969
968
task
@@ -976,6 +975,7 @@ export class Repository extends FetcherExtended {
976
975
state
977
976
deployment {
978
977
createdAt
978
+ updatedAt
979
979
description
980
980
commit {
981
981
additions
@@ -1007,6 +1007,7 @@ export class Repository extends FetcherExtended {
1007
1007
state
1008
1008
deployment {
1009
1009
createdAt
1010
+ updatedAt
1010
1011
description
1011
1012
commit {
1012
1013
additions
@@ -1217,4 +1218,76 @@ export class Repository extends FetcherExtended {
1217
1218
1218
1219
return "" ;
1219
1220
}
1221
+
1222
+ #contributionsBody( ) {
1223
+ if ( this . #doFetchContributions) {
1224
+ if ( this . #log) console . info ( "fetching contributions" ) ;
1225
+
1226
+ return `
1227
+ defaultBranchRef {
1228
+ target {
1229
+ ... on Commit {
1230
+ history(first: ${ this . #contributionsPageSize} , after: ${ this . #contributionsContinueAfter} ) {
1231
+ ${ this . #count_nodes ? "totalCount" : "" }
1232
+
1233
+ pageInfo {
1234
+ endCursor
1235
+ hasNextPage
1236
+ }
1237
+
1238
+ edges {
1239
+ node {
1240
+ ... on Commit {
1241
+ abbreviatedOid
1242
+ oid
1243
+ id
1244
+
1245
+ messageHeadlineHTML
1246
+ messageBodyHTML
1247
+
1248
+ additions
1249
+ deletions
1250
+ changedFilesIfAvailable
1251
+
1252
+ commitUrl
1253
+ treeUrl
1254
+
1255
+ committedDate
1256
+
1257
+ deployments(first: 1, orderBy: {direction: DESC, field: CREATED_AT}, after: null) {
1258
+ totalCount
1259
+
1260
+ pageInfo {
1261
+ endCursor
1262
+ hasNextPage
1263
+ }
1264
+
1265
+ nodes {
1266
+ createdAt
1267
+ updatedAt
1268
+
1269
+ description
1270
+
1271
+ latestStatus {
1272
+ createdAt
1273
+ updatedAt
1274
+ state
1275
+ description
1276
+ environmentUrl
1277
+ logUrl
1278
+ }
1279
+ }
1280
+ }
1281
+ }
1282
+ }
1283
+ }
1284
+ }
1285
+ }
1286
+ }
1287
+ }
1288
+ ` ;
1289
+ }
1290
+
1291
+ return "" ;
1292
+ }
1220
1293
}
0 commit comments