ecosyste-ms-cli 1.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. ecosyste_ms_cli-1.3.2.dist-info/METADATA +133 -0
  2. ecosyste_ms_cli-1.3.2.dist-info/RECORD +84 -0
  3. ecosyste_ms_cli-1.3.2.dist-info/WHEEL +5 -0
  4. ecosyste_ms_cli-1.3.2.dist-info/entry_points.txt +2 -0
  5. ecosyste_ms_cli-1.3.2.dist-info/licenses/LICENSE +21 -0
  6. ecosyste_ms_cli-1.3.2.dist-info/top_level.txt +1 -0
  7. ecosystems_cli/__init__.py +3 -0
  8. ecosystems_cli/__main__.py +4 -0
  9. ecosystems_cli/apis/__init__.py +0 -0
  10. ecosystems_cli/apis/advisories.openapi.yaml +347 -0
  11. ecosystems_cli/apis/archives.openapi.yaml +193 -0
  12. ecosystems_cli/apis/commits.openapi.yaml +391 -0
  13. ecosystems_cli/apis/dependabot.openapi.yaml +887 -0
  14. ecosystems_cli/apis/diff.openapi.yaml +90 -0
  15. ecosystems_cli/apis/docker.openapi.yaml +534 -0
  16. ecosystems_cli/apis/issues.openapi.yaml +839 -0
  17. ecosystems_cli/apis/licenses.openapi.yaml +80 -0
  18. ecosystems_cli/apis/opencollective.openapi.yaml +247 -0
  19. ecosystems_cli/apis/packages.openapi.yaml +2522 -0
  20. ecosystems_cli/apis/parser.openapi.yaml +97 -0
  21. ecosystems_cli/apis/registries.yaml +155 -0
  22. ecosystems_cli/apis/repos.openapi.yaml +1521 -0
  23. ecosystems_cli/apis/resolve.openapi.yaml +130 -0
  24. ecosystems_cli/apis/sbom.openapi.yaml +79 -0
  25. ecosystems_cli/apis/sponsors.openapi.yaml +283 -0
  26. ecosystems_cli/apis/summary.openapi.yaml +239 -0
  27. ecosystems_cli/apis/timeline.openapi.yaml +91 -0
  28. ecosystems_cli/cli.py +213 -0
  29. ecosystems_cli/commands/__init__.py +1 -0
  30. ecosystems_cli/commands/advisories.py +109 -0
  31. ecosystems_cli/commands/archives.py +5 -0
  32. ecosystems_cli/commands/commits.py +5 -0
  33. ecosystems_cli/commands/decorators.py +101 -0
  34. ecosystems_cli/commands/dependabot.py +5 -0
  35. ecosystems_cli/commands/diff.py +144 -0
  36. ecosystems_cli/commands/docker.py +5 -0
  37. ecosystems_cli/commands/execution.py +99 -0
  38. ecosystems_cli/commands/generator.py +127 -0
  39. ecosystems_cli/commands/handlers/__init__.py +45 -0
  40. ecosystems_cli/commands/handlers/advisories.py +73 -0
  41. ecosystems_cli/commands/handlers/archives.py +40 -0
  42. ecosystems_cli/commands/handlers/base.py +38 -0
  43. ecosystems_cli/commands/handlers/commits.py +76 -0
  44. ecosystems_cli/commands/handlers/default.py +40 -0
  45. ecosystems_cli/commands/handlers/dependabot.py +205 -0
  46. ecosystems_cli/commands/handlers/diff.py +72 -0
  47. ecosystems_cli/commands/handlers/docker.py +142 -0
  48. ecosystems_cli/commands/handlers/factory.py +60 -0
  49. ecosystems_cli/commands/handlers/issues.py +87 -0
  50. ecosystems_cli/commands/handlers/licenses.py +52 -0
  51. ecosystems_cli/commands/handlers/opencollective.py +86 -0
  52. ecosystems_cli/commands/handlers/packages.py +103 -0
  53. ecosystems_cli/commands/handlers/parser.py +57 -0
  54. ecosystems_cli/commands/handlers/repos.py +97 -0
  55. ecosystems_cli/commands/handlers/resolve.py +68 -0
  56. ecosystems_cli/commands/handlers/sbom.py +52 -0
  57. ecosystems_cli/commands/handlers/sponsors.py +52 -0
  58. ecosystems_cli/commands/handlers/summary.py +81 -0
  59. ecosystems_cli/commands/handlers/timeline.py +45 -0
  60. ecosystems_cli/commands/issues.py +5 -0
  61. ecosystems_cli/commands/licenses.py +135 -0
  62. ecosystems_cli/commands/mcp.py +54 -0
  63. ecosystems_cli/commands/opencollective.py +5 -0
  64. ecosystems_cli/commands/packages.py +151 -0
  65. ecosystems_cli/commands/parser.py +135 -0
  66. ecosystems_cli/commands/repos.py +5 -0
  67. ecosystems_cli/commands/resolve.py +160 -0
  68. ecosystems_cli/commands/sbom.py +135 -0
  69. ecosystems_cli/commands/sponsors.py +5 -0
  70. ecosystems_cli/commands/summary.py +5 -0
  71. ecosystems_cli/commands/timeline.py +5 -0
  72. ecosystems_cli/constants.py +92 -0
  73. ecosystems_cli/exceptions.py +149 -0
  74. ecosystems_cli/helpers/click_params.py +49 -0
  75. ecosystems_cli/helpers/flatten_dict.py +15 -0
  76. ecosystems_cli/helpers/format_value.py +30 -0
  77. ecosystems_cli/helpers/get_domain.py +68 -0
  78. ecosystems_cli/helpers/load_api_spec.py +31 -0
  79. ecosystems_cli/helpers/print_error.py +15 -0
  80. ecosystems_cli/helpers/print_operations.py +73 -0
  81. ecosystems_cli/helpers/print_output.py +183 -0
  82. ecosystems_cli/helpers/purl_parser.py +121 -0
  83. ecosystems_cli/mcp_server.py +267 -0
  84. ecosystems_cli/openapi_client.py +461 -0
@@ -0,0 +1,839 @@
1
+ ---
2
+ openapi: 3.0.1
3
+ info:
4
+ title: 'Ecosyste.ms: issues'
5
+ description: 'An open API service providing issue metadata for open source projects. '
6
+ contact:
7
+ name: Ecosyste.ms
8
+ email: support@ecosyste.ms
9
+ url: https://ecosyste.ms
10
+ version: 1.0.0
11
+ license:
12
+ name: CC-BY-SA-4.0
13
+ url: https://creativecommons.org/licenses/by-sa/4.0/
14
+ externalDocs:
15
+ description: GitHub Repository
16
+ url: https://github.com/ecosyste-ms/issues
17
+ servers:
18
+ - url: https://issues.ecosyste.ms/api/v1
19
+ paths:
20
+ "/repositories/lookup":
21
+ get:
22
+ summary: Lookup repository metadata
23
+ operationId: repositoriesLookup
24
+ parameters:
25
+ - name: url
26
+ in: query
27
+ description: The URL of the repository to lookup
28
+ required: true
29
+ schema:
30
+ type: string
31
+ responses:
32
+ 200:
33
+ description: OK
34
+ content:
35
+ application/json:
36
+ schema:
37
+ "$ref": "#/components/schemas/Repository"
38
+ "/hosts":
39
+ get:
40
+ summary: list registies
41
+ operationId: getRegistries
42
+ parameters:
43
+ - name: page
44
+ in: query
45
+ description: pagination page number
46
+ required: false
47
+ schema:
48
+ type: integer
49
+ - name: per_page
50
+ in: query
51
+ description: Number of records to return
52
+ required: false
53
+ schema:
54
+ type: integer
55
+ responses:
56
+ 200:
57
+ description: OK
58
+ content:
59
+ application/json:
60
+ schema:
61
+ type: array
62
+ items:
63
+ "$ref": "#/components/schemas/Host"
64
+ "/hosts/{hostName}":
65
+ get:
66
+ summary: get a host by name
67
+ operationId: getHost
68
+ parameters:
69
+ - in: path
70
+ name: hostName
71
+ schema:
72
+ type: string
73
+ required: true
74
+ description: name of host
75
+ responses:
76
+ 200:
77
+ description: OK
78
+ content:
79
+ application/json:
80
+ schema:
81
+ "$ref": "#/components/schemas/Host"
82
+ "/hosts/{hostName}/repositories":
83
+ get:
84
+ summary: get a list of repositories from a host
85
+ operationId: getHostRepositories
86
+ parameters:
87
+ - in: path
88
+ name: hostName
89
+ schema:
90
+ type: string
91
+ required: true
92
+ description: name of host
93
+ - name: page
94
+ in: query
95
+ description: pagination page number
96
+ required: false
97
+ schema:
98
+ type: integer
99
+ - name: per_page
100
+ in: query
101
+ description: Number of records to return
102
+ required: false
103
+ schema:
104
+ type: integer
105
+ - name: created_after
106
+ in: query
107
+ description: filter by created_at after given time
108
+ required: false
109
+ schema:
110
+ type: string
111
+ format: date-time
112
+ - name: updated_after
113
+ in: query
114
+ description: filter by updated_at after given time
115
+ required: false
116
+ schema:
117
+ type: string
118
+ format: date-time
119
+ - name: sort
120
+ in: query
121
+ description: field to order results by
122
+ required: false
123
+ schema:
124
+ type: string
125
+ - name: order
126
+ in: query
127
+ description: direction to order results by
128
+ required: false
129
+ schema:
130
+ type: string
131
+ responses:
132
+ 200:
133
+ description: OK
134
+ content:
135
+ application/json:
136
+ schema:
137
+ type: array
138
+ items:
139
+ "$ref": "#/components/schemas/Repository"
140
+ "/hosts/{hostName}/repositories/{repoName}":
141
+ get:
142
+ summary: get a repository from a host
143
+ operationId: getHostRepository
144
+ parameters:
145
+ - in: path
146
+ name: hostName
147
+ schema:
148
+ type: string
149
+ required: true
150
+ description: name of host
151
+ - in: path
152
+ name: repoName
153
+ schema:
154
+ type: string
155
+ required: true
156
+ description: name of repository
157
+ responses:
158
+ 200:
159
+ description: OK
160
+ content:
161
+ application/json:
162
+ schema:
163
+ "$ref": "#/components/schemas/Repository"
164
+ "/hosts/{hostName}/repositories/{repoName}/issues":
165
+ get:
166
+ summary: get a list of issues from a repository
167
+ operationId: getHostRepositoryIssues
168
+ parameters:
169
+ - in: path
170
+ name: hostName
171
+ schema:
172
+ type: string
173
+ required: true
174
+ description: name of host
175
+ - in: path
176
+ name: repoName
177
+ schema:
178
+ type: string
179
+ required: true
180
+ description: name of repository
181
+ - name: page
182
+ in: query
183
+ description: pagination page number
184
+ required: false
185
+ schema:
186
+ type: integer
187
+ - name: per_page
188
+ in: query
189
+ description: Number of records to return
190
+ required: false
191
+ schema:
192
+ type: integer
193
+ - name: created_after
194
+ in: query
195
+ description: filter by created_at after given time
196
+ required: false
197
+ schema:
198
+ type: string
199
+ format: date-time
200
+ - name: updated_after
201
+ in: query
202
+ description: filter by updated_at after given time
203
+ required: false
204
+ schema:
205
+ type: string
206
+ format: date-time
207
+ - name: sort
208
+ in: query
209
+ description: field to order results by
210
+ required: false
211
+ schema:
212
+ type: string
213
+ - name: order
214
+ in: query
215
+ description: direction to order results by
216
+ required: false
217
+ schema:
218
+ type: string
219
+ - name: pull_request
220
+ in: query
221
+ description: filter by if it's a pull request
222
+ required: false
223
+ schema:
224
+ type: boolean
225
+ - name: state
226
+ in: query
227
+ description: filter by issue state (open, closed)
228
+ required: false
229
+ schema:
230
+ type: string
231
+ - name: label
232
+ in: query
233
+ description: filter by label name
234
+ required: false
235
+ schema:
236
+ type: string
237
+ responses:
238
+ 200:
239
+ description: OK
240
+ content:
241
+ application/json:
242
+ schema:
243
+ type: array
244
+ items:
245
+ "$ref": "#/components/schemas/Issue"
246
+ "/hosts/{hostName}/repositories/{repoName}/issues/{issueNumber}":
247
+ get:
248
+ summary: get an issue from a repository
249
+ operationId: getHostRepositoryIssue
250
+ parameters:
251
+ - in: path
252
+ name: hostName
253
+ schema:
254
+ type: string
255
+ required: true
256
+ description: name of host
257
+ - in: path
258
+ name: repoName
259
+ schema:
260
+ type: string
261
+ required: true
262
+ description: name of repository
263
+ - in: path
264
+ name: issueNumber
265
+ schema:
266
+ type: integer
267
+ required: true
268
+ description: number of issue
269
+ responses:
270
+ 200:
271
+ description: OK
272
+ content:
273
+ application/json:
274
+ schema:
275
+ "$ref": "#/components/schemas/Issue"
276
+ "/hosts/{hostName}/repositories/{repoName}/labels":
277
+ get:
278
+ summary: get a list of labels used in issues for a repository
279
+ operationId: getHostRepositoryLabels
280
+ parameters:
281
+ - in: path
282
+ name: hostName
283
+ schema:
284
+ type: string
285
+ required: true
286
+ description: name of host
287
+ - in: path
288
+ name: repoName
289
+ schema:
290
+ type: string
291
+ required: true
292
+ description: name of repository
293
+ responses:
294
+ 200:
295
+ description: OK
296
+ content:
297
+ application/json:
298
+ schema:
299
+ type: array
300
+ items:
301
+ "$ref": "#/components/schemas/LabelCount"
302
+ "/hosts/{hostName}/owners":
303
+ get:
304
+ summary: get a list of owners from a host
305
+ operationId: getHostOwners
306
+ parameters:
307
+ - in: path
308
+ name: hostName
309
+ schema:
310
+ type: string
311
+ required: true
312
+ description: name of host
313
+ - name: page
314
+ in: query
315
+ description: pagination page number
316
+ required: false
317
+ schema:
318
+ type: integer
319
+ - name: per_page
320
+ in: query
321
+ description: Number of records to return
322
+ required: false
323
+ schema:
324
+ type: integer
325
+ responses:
326
+ 200:
327
+ description: OK
328
+ content:
329
+ application/json:
330
+ schema:
331
+ type: array
332
+ items:
333
+ "$ref": "#/components/schemas/OwnerSummary"
334
+ "/hosts/{hostName}/owners/{ownerName}":
335
+ get:
336
+ summary: get owner statistics from a host
337
+ operationId: getHostOwner
338
+ parameters:
339
+ - in: path
340
+ name: hostName
341
+ schema:
342
+ type: string
343
+ required: true
344
+ description: name of host
345
+ - in: path
346
+ name: ownerName
347
+ schema:
348
+ type: string
349
+ required: true
350
+ description: name of owner
351
+ responses:
352
+ 200:
353
+ description: OK
354
+ content:
355
+ application/json:
356
+ schema:
357
+ "$ref": "#/components/schemas/Owner"
358
+ "/hosts/{hostName}/owners/{ownerName}/maintainers":
359
+ get:
360
+ summary: get maintainers for an owner
361
+ operationId: getHostOwnerMaintainers
362
+ parameters:
363
+ - in: path
364
+ name: hostName
365
+ schema:
366
+ type: string
367
+ required: true
368
+ description: name of host
369
+ - in: path
370
+ name: ownerName
371
+ schema:
372
+ type: string
373
+ required: true
374
+ description: name of owner
375
+ responses:
376
+ 200:
377
+ description: OK
378
+ content:
379
+ application/json:
380
+ schema:
381
+ "$ref": "#/components/schemas/Maintainers"
382
+ "/hosts/{hostName}/authors":
383
+ get:
384
+ summary: get a list of authors from a host
385
+ operationId: getHostAuthors
386
+ parameters:
387
+ - in: path
388
+ name: hostName
389
+ schema:
390
+ type: string
391
+ required: true
392
+ description: name of host
393
+ - name: page
394
+ in: query
395
+ description: pagination page number
396
+ required: false
397
+ schema:
398
+ type: integer
399
+ - name: per_page
400
+ in: query
401
+ description: Number of records to return
402
+ required: false
403
+ schema:
404
+ type: integer
405
+ responses:
406
+ 200:
407
+ description: OK
408
+ content:
409
+ application/json:
410
+ schema:
411
+ type: array
412
+ items:
413
+ "$ref": "#/components/schemas/AuthorSummary"
414
+ "/hosts/{hostName}/authors/{authorName}":
415
+ get:
416
+ summary: get author statistics from a host
417
+ operationId: getHostAuthor
418
+ parameters:
419
+ - in: path
420
+ name: hostName
421
+ schema:
422
+ type: string
423
+ required: true
424
+ description: name of host
425
+ - in: path
426
+ name: authorName
427
+ schema:
428
+ type: string
429
+ required: true
430
+ description: username of author
431
+ responses:
432
+ 200:
433
+ description: OK
434
+ content:
435
+ application/json:
436
+ schema:
437
+ "$ref": "#/components/schemas/Author"
438
+ "/jobs":
439
+ post:
440
+ summary: create a job to sync issues from a URL
441
+ operationId: createJob
442
+ requestBody:
443
+ required: true
444
+ content:
445
+ application/json:
446
+ schema:
447
+ type: object
448
+ properties:
449
+ url:
450
+ type: string
451
+ description: URL of the repository to sync issues from
452
+ required:
453
+ - url
454
+ responses:
455
+ 302:
456
+ description: Redirect to the created job
457
+ 400:
458
+ description: Bad Request
459
+ content:
460
+ application/json:
461
+ schema:
462
+ type: object
463
+ properties:
464
+ title:
465
+ type: string
466
+ details:
467
+ type: array
468
+ items:
469
+ type: string
470
+ "/jobs/{jobId}":
471
+ get:
472
+ summary: get the status of a job
473
+ operationId: getJob
474
+ parameters:
475
+ - in: path
476
+ name: jobId
477
+ schema:
478
+ type: integer
479
+ required: true
480
+ description: ID of the job
481
+ responses:
482
+ 200:
483
+ description: OK
484
+ content:
485
+ application/json:
486
+ schema:
487
+ "$ref": "#/components/schemas/Job"
488
+ components:
489
+ schemas:
490
+ Host:
491
+ type: object
492
+ properties:
493
+ name:
494
+ type: string
495
+ url:
496
+ type: string
497
+ kind:
498
+ type: string
499
+ repositories_count:
500
+ type: integer
501
+ issues_count:
502
+ type: integer
503
+ pull_requests_count:
504
+ type: integer
505
+ authors_count:
506
+ type: integer
507
+ last_synced_at:
508
+ type: string
509
+ format: date-time
510
+ icon_url:
511
+ type: string
512
+ Repository:
513
+ type: object
514
+ properties:
515
+ full_name:
516
+ type: string
517
+ html_url:
518
+ type: string
519
+ last_synced_at:
520
+ type: string
521
+ format: date-time
522
+ status:
523
+ type: string
524
+ issues_count:
525
+ type: integer
526
+ pull_requests_count:
527
+ type: integer
528
+ avg_time_to_close_issue:
529
+ type: number
530
+ avg_time_to_close_pull_request:
531
+ type: number
532
+ issues_closed_count:
533
+ type: integer
534
+ pull_requests_closed_count:
535
+ type: integer
536
+ pull_request_authors_count:
537
+ type: integer
538
+ issue_authors_count:
539
+ type: integer
540
+ avg_comments_per_issue:
541
+ type: number
542
+ avg_comments_per_pull_request:
543
+ type: number
544
+ merged_pull_requests_count:
545
+ type: integer
546
+ bot_issues_count:
547
+ type: integer
548
+ bot_pull_requests_count:
549
+ type: integer
550
+ past_year_issues_count:
551
+ type: integer
552
+ past_year_pull_requests_count:
553
+ type: integer
554
+ past_year_avg_time_to_close_issue:
555
+ type: number
556
+ past_year_avg_time_to_close_pull_request:
557
+ type: number
558
+ past_year_issues_closed_count:
559
+ type: integer
560
+ past_year_pull_requests_closed_count:
561
+ type: integer
562
+ past_year_pull_request_authors_count:
563
+ type: integer
564
+ past_year_issue_authors_count:
565
+ type: integer
566
+ past_year_avg_comments_per_issue:
567
+ type: number
568
+ past_year_avg_comments_per_pull_request:
569
+ type: number
570
+ past_year_merged_pull_requests_count:
571
+ type: integer
572
+ past_year_bot_issues_count:
573
+ type: integer
574
+ past_year_bot_pull_requests_count:
575
+ type: integer
576
+ updated_at:
577
+ type: string
578
+ format: date-time
579
+ created_at:
580
+ type: string
581
+ format: date-time
582
+ issues_url:
583
+ type: string
584
+ Issue:
585
+ type: object
586
+ properties:
587
+ uuid:
588
+ type: integer
589
+ number:
590
+ type: integer
591
+ node_id:
592
+ type: string
593
+ title:
594
+ type: string
595
+ user:
596
+ type: string
597
+ labels:
598
+ type: array
599
+ items:
600
+ type: string
601
+ assignees:
602
+ type: array
603
+ items:
604
+ type: string
605
+ comments_count:
606
+ type: integer
607
+ pull_request:
608
+ type: boolean
609
+ author_association:
610
+ type: string
611
+ state:
612
+ type: string
613
+ state_reason:
614
+ type: string
615
+ time_to_close:
616
+ type: integer
617
+ merged_at:
618
+ type: string
619
+ format: date-time
620
+ locked:
621
+ type: boolean
622
+ comments:
623
+ type: integer
624
+ created_at:
625
+ type: string
626
+ format: date-time
627
+ updated_at:
628
+ type: string
629
+ format: date-time
630
+ closed_at:
631
+ type: string
632
+ format: date-time
633
+ html_url:
634
+ type: string
635
+ url:
636
+ type: string
637
+ OwnerSummary:
638
+ type: object
639
+ properties:
640
+ login:
641
+ type: string
642
+ repositories_count:
643
+ type: integer
644
+ owner_url:
645
+ type: string
646
+ Owner:
647
+ type: object
648
+ properties:
649
+ login:
650
+ type: string
651
+ issues_count:
652
+ type: integer
653
+ pull_requests_count:
654
+ type: integer
655
+ merged_pull_requests_count:
656
+ type: integer
657
+ average_issue_close_time:
658
+ type: number
659
+ average_pull_request_close_time:
660
+ type: number
661
+ average_issue_comments_count:
662
+ type: number
663
+ average_pull_request_comments_count:
664
+ type: number
665
+ issue_repos:
666
+ type: array
667
+ items:
668
+ "$ref": "#/components/schemas/RepoCount"
669
+ pull_request_repos:
670
+ type: array
671
+ items:
672
+ "$ref": "#/components/schemas/RepoCount"
673
+ issue_author_associations_count:
674
+ type: array
675
+ items:
676
+ "$ref": "#/components/schemas/AuthorAssociationCount"
677
+ pull_request_author_associations_count:
678
+ type: array
679
+ items:
680
+ "$ref": "#/components/schemas/AuthorAssociationCount"
681
+ issue_labels_count:
682
+ type: array
683
+ items:
684
+ "$ref": "#/components/schemas/LabelCount"
685
+ pull_request_labels_count:
686
+ type: array
687
+ items:
688
+ "$ref": "#/components/schemas/LabelCount"
689
+ issue_authors:
690
+ type: array
691
+ items:
692
+ "$ref": "#/components/schemas/AuthorCount"
693
+ pull_request_authors:
694
+ type: array
695
+ items:
696
+ "$ref": "#/components/schemas/AuthorCount"
697
+ maintainers:
698
+ type: array
699
+ items:
700
+ "$ref": "#/components/schemas/MaintainerCount"
701
+ active_maintainers:
702
+ type: array
703
+ items:
704
+ "$ref": "#/components/schemas/MaintainerCount"
705
+ Maintainers:
706
+ type: object
707
+ properties:
708
+ login:
709
+ type: string
710
+ maintainers:
711
+ type: array
712
+ items:
713
+ "$ref": "#/components/schemas/MaintainerCount"
714
+ active_maintainers:
715
+ type: array
716
+ items:
717
+ "$ref": "#/components/schemas/MaintainerCount"
718
+ AuthorSummary:
719
+ type: object
720
+ properties:
721
+ login:
722
+ type: string
723
+ repositories_count:
724
+ type: integer
725
+ author_url:
726
+ type: string
727
+ Author:
728
+ type: object
729
+ properties:
730
+ login:
731
+ type: string
732
+ issues_count:
733
+ type: integer
734
+ pull_requests_count:
735
+ type: integer
736
+ merged_pull_requests_count:
737
+ type: integer
738
+ average_issue_close_time:
739
+ type: number
740
+ average_pull_request_close_time:
741
+ type: number
742
+ average_issue_comments_count:
743
+ type: number
744
+ average_pull_request_comments_count:
745
+ type: number
746
+ issue_repos:
747
+ type: array
748
+ items:
749
+ "$ref": "#/components/schemas/RepoCount"
750
+ pull_request_repos:
751
+ type: array
752
+ items:
753
+ "$ref": "#/components/schemas/RepoCount"
754
+ issue_author_associations_count:
755
+ type: array
756
+ items:
757
+ "$ref": "#/components/schemas/AuthorAssociationCount"
758
+ pull_request_author_associations_count:
759
+ type: array
760
+ items:
761
+ "$ref": "#/components/schemas/AuthorAssociationCount"
762
+ issue_labels_count:
763
+ type: array
764
+ items:
765
+ "$ref": "#/components/schemas/LabelCount"
766
+ pull_request_labels_count:
767
+ type: array
768
+ items:
769
+ "$ref": "#/components/schemas/LabelCount"
770
+ maintaining:
771
+ type: array
772
+ items:
773
+ "$ref": "#/components/schemas/RepoCount"
774
+ active_maintaining:
775
+ type: array
776
+ items:
777
+ "$ref": "#/components/schemas/RepoCount"
778
+ Job:
779
+ type: object
780
+ properties:
781
+ id:
782
+ type: integer
783
+ url:
784
+ type: string
785
+ status:
786
+ type: string
787
+ results:
788
+ type: object
789
+ created_at:
790
+ type: string
791
+ format: date-time
792
+ updated_at:
793
+ type: string
794
+ format: date-time
795
+ sidekiq_id:
796
+ type: string
797
+ RepoCount:
798
+ type: object
799
+ properties:
800
+ repository:
801
+ type: string
802
+ count:
803
+ type: integer
804
+ url:
805
+ type: string
806
+ AuthorAssociationCount:
807
+ type: object
808
+ properties:
809
+ author_association:
810
+ type: string
811
+ count:
812
+ type: integer
813
+ LabelCount:
814
+ type: object
815
+ properties:
816
+ label:
817
+ type: string
818
+ count:
819
+ type: integer
820
+ issues_url:
821
+ type: string
822
+ AuthorCount:
823
+ type: object
824
+ properties:
825
+ author:
826
+ type: string
827
+ count:
828
+ type: integer
829
+ url:
830
+ type: string
831
+ MaintainerCount:
832
+ type: object
833
+ properties:
834
+ maintainer:
835
+ type: string
836
+ count:
837
+ type: integer
838
+ url:
839
+ type: string