dbotquery 0.9

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 (57) hide show
  1. checksums.yaml +7 -0
  2. data/.idea/.gitignore +10 -0
  3. data/.idea/dbotquery.iml +130 -0
  4. data/.idea/dictionaries/project.xml +9 -0
  5. data/.idea/modules.xml +8 -0
  6. data/.idea/runConfigurations/Specs.xml +33 -0
  7. data/.idea/vcs.xml +6 -0
  8. data/.reek.yml +8 -0
  9. data/CHANGELOG.md +5 -0
  10. data/CODE_OF_CONDUCT.md +10 -0
  11. data/LICENSE.txt +21 -0
  12. data/NOTES.md +38 -0
  13. data/README.md +34 -0
  14. data/Rakefile +32 -0
  15. data/Steepfile +25 -0
  16. data/exe/dbotquery +8 -0
  17. data/lib/d_bot_query/cli.rb +74 -0
  18. data/lib/d_bot_query/commands/command_base.rb +51 -0
  19. data/lib/d_bot_query/commands/package_search_command.rb +40 -0
  20. data/lib/d_bot_query/commands/repo_sla_statistics_command.rb +52 -0
  21. data/lib/d_bot_query/commands/sla_statistics_command.rb +62 -0
  22. data/lib/d_bot_query/commands/summary_command.rb +51 -0
  23. data/lib/d_bot_query/models/alert.rb +40 -0
  24. data/lib/d_bot_query/models/alert_collection.rb +89 -0
  25. data/lib/d_bot_query/models/base.rb +128 -0
  26. data/lib/d_bot_query/models/cvss.rb +11 -0
  27. data/lib/d_bot_query/models/cwe.rb +8 -0
  28. data/lib/d_bot_query/models/data_file.rb +30 -0
  29. data/lib/d_bot_query/models/dependency.rb +12 -0
  30. data/lib/d_bot_query/models/package.rb +23 -0
  31. data/lib/d_bot_query/models/reference.rb +11 -0
  32. data/lib/d_bot_query/models/repository.rb +42 -0
  33. data/lib/d_bot_query/models/security_advisory.rb +22 -0
  34. data/lib/d_bot_query/models/security_vulnerability.rb +19 -0
  35. data/lib/d_bot_query/models/vulnerability_identifier.rb +14 -0
  36. data/lib/d_bot_query/version.rb +6 -0
  37. data/lib/dbotquery.rb +79 -0
  38. data/lib/schema.json +1255 -0
  39. data/rbs_collection.lock.yaml +316 -0
  40. data/rbs_collection.yaml +19 -0
  41. data/sig/d_bot_query/cli.rbs +26 -0
  42. data/sig/d_bot_query/commands/command_base.rbs +18 -0
  43. data/sig/d_bot_query/commands/package_search_command.rbs +11 -0
  44. data/sig/d_bot_query/commands/repo_sla_statistics_command.rbs +9 -0
  45. data/sig/d_bot_query/commands/sla_statistics_command.rbs +11 -0
  46. data/sig/d_bot_query/commands/summary_command.rbs +15 -0
  47. data/sig/d_bot_query/models/alert.rbs +17 -0
  48. data/sig/d_bot_query/models/alert_collection.rbs +41 -0
  49. data/sig/d_bot_query/models/base.rbs +39 -0
  50. data/sig/d_bot_query/models/data_file.rbs +21 -0
  51. data/sig/d_bot_query/models/dependency.rbs +7 -0
  52. data/sig/d_bot_query/models/package.rbs +10 -0
  53. data/sig/d_bot_query/models/repository.rbs +11 -0
  54. data/sig/d_bot_query/models/security_advisory.rbs +9 -0
  55. data/sig/d_bot_query.rbs +14 -0
  56. data/sig/gems/json-schema.rbs +5 -0
  57. metadata +157 -0
data/lib/schema.json ADDED
@@ -0,0 +1,1255 @@
1
+ {
2
+ "type": "array",
3
+ "items": {
4
+ "type": "object",
5
+ "description": "A Dependabot alert.",
6
+ "properties": {
7
+ "number": {
8
+ "type": "integer",
9
+ "description": "The security alert number.",
10
+ "readOnly": true
11
+ },
12
+ "state": {
13
+ "type": "string",
14
+ "description": "The state of the Dependabot alert.",
15
+ "readOnly": true,
16
+ "enum": [
17
+ "auto_dismissed",
18
+ "dismissed",
19
+ "fixed",
20
+ "open"
21
+ ]
22
+ },
23
+ "dependency": {
24
+ "type": "object",
25
+ "description": "Details for the vulnerable dependency.",
26
+ "readOnly": true,
27
+ "properties": {
28
+ "package": {
29
+ "type": "object",
30
+ "description": "Details for the vulnerable package.",
31
+ "readOnly": true,
32
+ "properties": {
33
+ "ecosystem": {
34
+ "type": "string",
35
+ "description": "The package's language or package management ecosystem.",
36
+ "readOnly": true
37
+ },
38
+ "name": {
39
+ "type": "string",
40
+ "description": "The unique package name within its ecosystem.",
41
+ "readOnly": true
42
+ }
43
+ },
44
+ "required": [
45
+ "ecosystem",
46
+ "name"
47
+ ],
48
+ "additionalProperties": false
49
+ },
50
+ "manifest_path": {
51
+ "type": "string",
52
+ "description": "The full path to the dependency manifest file, relative to the root of the repository.",
53
+ "readOnly": true
54
+ },
55
+ "scope": {
56
+ "type": [
57
+ "string",
58
+ "null"
59
+ ],
60
+ "description": "The execution scope of the vulnerable dependency.",
61
+ "readOnly": true,
62
+ "enum": [
63
+ "development",
64
+ "runtime",
65
+ null
66
+ ]
67
+ },
68
+ "relationship": {
69
+ "type": [
70
+ "string",
71
+ "null"
72
+ ],
73
+ "description": "The vulnerable dependency's relationship to your project.\n\n> [!NOTE]\n> We are rolling out support for dependency relationship across ecosystems. This value will be \"unknown\" for all dependencies in unsupported ecosystems.\n",
74
+ "readOnly": true,
75
+ "enum": [
76
+ "unknown",
77
+ "direct",
78
+ "transitive",
79
+ "inconclusive",
80
+ null
81
+ ]
82
+ }
83
+ }
84
+ },
85
+ "security_advisory": {
86
+ "type": "object",
87
+ "description": "Details for the GitHub Security Advisory.",
88
+ "readOnly": true,
89
+ "properties": {
90
+ "ghsa_id": {
91
+ "type": "string",
92
+ "description": "The unique GitHub Security Advisory ID assigned to the advisory.",
93
+ "readOnly": true
94
+ },
95
+ "cve_id": {
96
+ "type": [
97
+ "string",
98
+ "null"
99
+ ],
100
+ "description": "The unique CVE ID assigned to the advisory.",
101
+ "readOnly": true
102
+ },
103
+ "summary": {
104
+ "type": "string",
105
+ "description": "A short, plain text summary of the advisory.",
106
+ "readOnly": true,
107
+ "maxLength": 1024
108
+ },
109
+ "description": {
110
+ "type": "string",
111
+ "description": "A long-form Markdown-supported description of the advisory.",
112
+ "readOnly": true
113
+ },
114
+ "vulnerabilities": {
115
+ "type": "array",
116
+ "description": "Vulnerable version range information for the advisory.",
117
+ "readOnly": true,
118
+ "items": {
119
+ "type": "object",
120
+ "description": "Details pertaining to one vulnerable version range for the advisory.",
121
+ "readOnly": true,
122
+ "properties": {
123
+ "package": {
124
+ "type": "object",
125
+ "description": "Details for the vulnerable package.",
126
+ "readOnly": true,
127
+ "properties": {
128
+ "ecosystem": {
129
+ "type": "string",
130
+ "description": "The package's language or package management ecosystem.",
131
+ "readOnly": true
132
+ },
133
+ "name": {
134
+ "type": "string",
135
+ "description": "The unique package name within its ecosystem.",
136
+ "readOnly": true
137
+ }
138
+ },
139
+ "required": [
140
+ "ecosystem",
141
+ "name"
142
+ ],
143
+ "additionalProperties": false
144
+ },
145
+ "severity": {
146
+ "type": "string",
147
+ "description": "The severity of the vulnerability.",
148
+ "readOnly": true,
149
+ "enum": [
150
+ "low",
151
+ "medium",
152
+ "high",
153
+ "critical"
154
+ ]
155
+ },
156
+ "vulnerable_version_range": {
157
+ "type": "string",
158
+ "description": "Conditions that identify vulnerable versions of this vulnerability's package.",
159
+ "readOnly": true
160
+ },
161
+ "first_patched_version": {
162
+ "type": [
163
+ "object",
164
+ "null"
165
+ ],
166
+ "description": "Details pertaining to the package version that patches this vulnerability.",
167
+ "readOnly": true,
168
+ "properties": {
169
+ "identifier": {
170
+ "type": "string",
171
+ "description": "The package version that patches this vulnerability.",
172
+ "readOnly": true
173
+ }
174
+ },
175
+ "required": [
176
+ "identifier"
177
+ ],
178
+ "additionalProperties": false
179
+ }
180
+ },
181
+ "required": [
182
+ "package",
183
+ "severity",
184
+ "vulnerable_version_range",
185
+ "first_patched_version"
186
+ ],
187
+ "additionalProperties": false
188
+ }
189
+ },
190
+ "severity": {
191
+ "type": "string",
192
+ "description": "The severity of the advisory.",
193
+ "readOnly": true,
194
+ "enum": [
195
+ "low",
196
+ "medium",
197
+ "high",
198
+ "critical"
199
+ ]
200
+ },
201
+ "classification": {
202
+ "type": "string",
203
+ "description": "The classification of the advisory.",
204
+ "readOnly": true,
205
+ "enum": [
206
+ "general",
207
+ "malware"
208
+ ]
209
+ },
210
+ "cvss_severities": {
211
+ "type": [
212
+ "object",
213
+ "null"
214
+ ],
215
+ "properties": {
216
+ "cvss_v3": {
217
+ "type": [
218
+ "object",
219
+ "null"
220
+ ],
221
+ "properties": {
222
+ "vector_string": {
223
+ "type": [
224
+ "string",
225
+ "null"
226
+ ],
227
+ "description": "The CVSS 3 vector string."
228
+ },
229
+ "score": {
230
+ "type": [
231
+ "number",
232
+ "null"
233
+ ],
234
+ "description": "The CVSS 3 score.",
235
+ "minimum": 0,
236
+ "maximum": 10,
237
+ "readOnly": true
238
+ }
239
+ },
240
+ "required": [
241
+ "vector_string",
242
+ "score"
243
+ ]
244
+ },
245
+ "cvss_v4": {
246
+ "type": [
247
+ "object",
248
+ "null"
249
+ ],
250
+ "properties": {
251
+ "vector_string": {
252
+ "type": [
253
+ "string",
254
+ "null"
255
+ ],
256
+ "description": "The CVSS 4 vector string."
257
+ },
258
+ "score": {
259
+ "type": [
260
+ "number",
261
+ "null"
262
+ ],
263
+ "description": "The CVSS 4 score.",
264
+ "minimum": 0,
265
+ "maximum": 10,
266
+ "readOnly": true
267
+ }
268
+ },
269
+ "required": [
270
+ "vector_string",
271
+ "score"
272
+ ]
273
+ }
274
+ }
275
+ },
276
+ "cvss": {
277
+ "type": [
278
+ "object",
279
+ "null"
280
+ ],
281
+ "properties": {
282
+ "vector_string": {
283
+ "type": [
284
+ "string",
285
+ "null"
286
+ ],
287
+ "description": "The CVSS vector string."
288
+ },
289
+ "score": {
290
+ "type": [
291
+ "number",
292
+ "null"
293
+ ],
294
+ "description": "The CVSS score.",
295
+ "minimum": 0,
296
+ "maximum": 10,
297
+ "readOnly": true
298
+ }
299
+ },
300
+ "required": [
301
+ "vector_string",
302
+ "score"
303
+ ]
304
+ },
305
+ "epss": {
306
+ "type": [
307
+ "object",
308
+ "null"
309
+ ],
310
+ "readOnly": true,
311
+ "description": "The EPSS scores as calculated by the [Exploit Prediction Scoring System](https://www.first.org/epss).",
312
+ "properties": {
313
+ "percentage": {
314
+ "type": "number",
315
+ "minimum": 0,
316
+ "maximum": 100
317
+ },
318
+ "percentile": {
319
+ "type": "number",
320
+ "minimum": 0,
321
+ "maximum": 100
322
+ }
323
+ }
324
+ },
325
+ "cwes": {
326
+ "type": "array",
327
+ "description": "Details for the advisory pertaining to Common Weakness Enumeration.",
328
+ "readOnly": true,
329
+ "items": {
330
+ "type": "object",
331
+ "description": "A CWE weakness assigned to the advisory.",
332
+ "readOnly": true,
333
+ "properties": {
334
+ "cwe_id": {
335
+ "type": "string",
336
+ "description": "The unique CWE ID.",
337
+ "readOnly": true
338
+ },
339
+ "name": {
340
+ "type": "string",
341
+ "description": "The short, plain text name of the CWE.",
342
+ "readOnly": true
343
+ }
344
+ },
345
+ "required": [
346
+ "cwe_id",
347
+ "name"
348
+ ],
349
+ "additionalProperties": false
350
+ }
351
+ },
352
+ "identifiers": {
353
+ "type": "array",
354
+ "description": "Values that identify this advisory among security information sources.",
355
+ "readOnly": true,
356
+ "items": {
357
+ "type": "object",
358
+ "description": "An advisory identifier.",
359
+ "readOnly": true,
360
+ "properties": {
361
+ "type": {
362
+ "type": "string",
363
+ "description": "The type of advisory identifier.",
364
+ "readOnly": true,
365
+ "enum": [
366
+ "CVE",
367
+ "GHSA"
368
+ ]
369
+ },
370
+ "value": {
371
+ "type": "string",
372
+ "description": "The value of the advisory identifer.",
373
+ "readOnly": true
374
+ }
375
+ },
376
+ "required": [
377
+ "value",
378
+ "type"
379
+ ],
380
+ "additionalProperties": false
381
+ }
382
+ },
383
+ "references": {
384
+ "type": "array",
385
+ "description": "Links to additional advisory information.",
386
+ "readOnly": true,
387
+ "items": {
388
+ "type": "object",
389
+ "description": "A link to additional advisory information.",
390
+ "readOnly": true,
391
+ "properties": {
392
+ "url": {
393
+ "type": "string",
394
+ "description": "The URL of the reference.",
395
+ "format": "uri",
396
+ "readOnly": true
397
+ }
398
+ },
399
+ "required": [
400
+ "url"
401
+ ],
402
+ "additionalProperties": false
403
+ }
404
+ },
405
+ "published_at": {
406
+ "type": "string",
407
+ "description": "The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
408
+ "format": "date-time",
409
+ "readOnly": true
410
+ },
411
+ "updated_at": {
412
+ "type": "string",
413
+ "description": "The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
414
+ "format": "date-time",
415
+ "readOnly": true
416
+ },
417
+ "withdrawn_at": {
418
+ "type": [
419
+ "string",
420
+ "null"
421
+ ],
422
+ "description": "The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
423
+ "format": "date-time",
424
+ "readOnly": true
425
+ }
426
+ },
427
+ "required": [
428
+ "ghsa_id",
429
+ "cve_id",
430
+ "summary",
431
+ "description",
432
+ "vulnerabilities",
433
+ "severity",
434
+ "cwes",
435
+ "identifiers",
436
+ "references",
437
+ "published_at",
438
+ "updated_at",
439
+ "withdrawn_at"
440
+ ],
441
+ "additionalProperties": false
442
+ },
443
+ "security_vulnerability": {
444
+ "type": "object",
445
+ "description": "Details pertaining to one vulnerable version range for the advisory.",
446
+ "readOnly": true,
447
+ "properties": {
448
+ "package": {
449
+ "type": "object",
450
+ "description": "Details for the vulnerable package.",
451
+ "readOnly": true,
452
+ "properties": {
453
+ "ecosystem": {
454
+ "type": "string",
455
+ "description": "The package's language or package management ecosystem.",
456
+ "readOnly": true
457
+ },
458
+ "name": {
459
+ "type": "string",
460
+ "description": "The unique package name within its ecosystem.",
461
+ "readOnly": true
462
+ }
463
+ },
464
+ "required": [
465
+ "ecosystem",
466
+ "name"
467
+ ],
468
+ "additionalProperties": false
469
+ },
470
+ "severity": {
471
+ "type": "string",
472
+ "description": "The severity of the vulnerability.",
473
+ "readOnly": true,
474
+ "enum": [
475
+ "low",
476
+ "medium",
477
+ "high",
478
+ "critical"
479
+ ]
480
+ },
481
+ "vulnerable_version_range": {
482
+ "type": "string",
483
+ "description": "Conditions that identify vulnerable versions of this vulnerability's package.",
484
+ "readOnly": true
485
+ },
486
+ "first_patched_version": {
487
+ "type": [
488
+ "object",
489
+ "null"
490
+ ],
491
+ "description": "Details pertaining to the package version that patches this vulnerability.",
492
+ "readOnly": true,
493
+ "properties": {
494
+ "identifier": {
495
+ "type": "string",
496
+ "description": "The package version that patches this vulnerability.",
497
+ "readOnly": true
498
+ }
499
+ },
500
+ "required": [
501
+ "identifier"
502
+ ],
503
+ "additionalProperties": false
504
+ }
505
+ },
506
+ "required": [
507
+ "package",
508
+ "severity",
509
+ "vulnerable_version_range",
510
+ "first_patched_version"
511
+ ],
512
+ "additionalProperties": false
513
+ },
514
+ "url": {
515
+ "type": "string",
516
+ "description": "The REST API URL of the alert resource.",
517
+ "format": "uri",
518
+ "readOnly": true
519
+ },
520
+ "html_url": {
521
+ "type": "string",
522
+ "description": "The GitHub URL of the alert resource.",
523
+ "format": "uri",
524
+ "readOnly": true
525
+ },
526
+ "created_at": {
527
+ "type": "string",
528
+ "description": "The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
529
+ "format": "date-time",
530
+ "readOnly": true
531
+ },
532
+ "updated_at": {
533
+ "type": "string",
534
+ "description": "The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
535
+ "format": "date-time",
536
+ "readOnly": true
537
+ },
538
+ "dismissed_at": {
539
+ "type": [
540
+ "string",
541
+ "null"
542
+ ],
543
+ "description": "The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
544
+ "format": "date-time",
545
+ "readOnly": true
546
+ },
547
+ "dismissed_by": {
548
+ "anyOf": [
549
+ {
550
+ "type": "null"
551
+ },
552
+ {
553
+ "title": "Simple User",
554
+ "description": "A GitHub user.",
555
+ "type": "object",
556
+ "properties": {
557
+ "name": {
558
+ "type": [
559
+ "string",
560
+ "null"
561
+ ]
562
+ },
563
+ "email": {
564
+ "type": [
565
+ "string",
566
+ "null"
567
+ ]
568
+ },
569
+ "login": {
570
+ "type": "string"
571
+ },
572
+ "id": {
573
+ "type": "integer",
574
+ "format": "int64"
575
+ },
576
+ "node_id": {
577
+ "type": "string"
578
+ },
579
+ "avatar_url": {
580
+ "type": "string",
581
+ "format": "uri"
582
+ },
583
+ "gravatar_id": {
584
+ "type": [
585
+ "string",
586
+ "null"
587
+ ]
588
+ },
589
+ "url": {
590
+ "type": "string",
591
+ "format": "uri"
592
+ },
593
+ "html_url": {
594
+ "type": "string",
595
+ "format": "uri"
596
+ },
597
+ "followers_url": {
598
+ "type": "string",
599
+ "format": "uri"
600
+ },
601
+ "following_url": {
602
+ "type": "string"
603
+ },
604
+ "gists_url": {
605
+ "type": "string"
606
+ },
607
+ "starred_url": {
608
+ "type": "string"
609
+ },
610
+ "subscriptions_url": {
611
+ "type": "string",
612
+ "format": "uri"
613
+ },
614
+ "organizations_url": {
615
+ "type": "string",
616
+ "format": "uri"
617
+ },
618
+ "repos_url": {
619
+ "type": "string",
620
+ "format": "uri"
621
+ },
622
+ "events_url": {
623
+ "type": "string"
624
+ },
625
+ "received_events_url": {
626
+ "type": "string",
627
+ "format": "uri"
628
+ },
629
+ "type": {
630
+ "type": "string"
631
+ },
632
+ "site_admin": {
633
+ "type": "boolean"
634
+ },
635
+ "starred_at": {
636
+ "type": "string"
637
+ },
638
+ "user_view_type": {
639
+ "type": "string"
640
+ }
641
+ },
642
+ "required": [
643
+ "avatar_url",
644
+ "events_url",
645
+ "followers_url",
646
+ "following_url",
647
+ "gists_url",
648
+ "gravatar_id",
649
+ "html_url",
650
+ "id",
651
+ "node_id",
652
+ "login",
653
+ "organizations_url",
654
+ "received_events_url",
655
+ "repos_url",
656
+ "site_admin",
657
+ "starred_url",
658
+ "subscriptions_url",
659
+ "type",
660
+ "url"
661
+ ]
662
+ }
663
+ ]
664
+ },
665
+ "dismissed_reason": {
666
+ "type": [
667
+ "string",
668
+ "null"
669
+ ],
670
+ "description": "The reason that the alert was dismissed.",
671
+ "enum": [
672
+ "fix_started",
673
+ "inaccurate",
674
+ "no_bandwidth",
675
+ "not_used",
676
+ "tolerable_risk",
677
+ null
678
+ ]
679
+ },
680
+ "dismissed_comment": {
681
+ "type": [
682
+ "string",
683
+ "null"
684
+ ],
685
+ "description": "An optional comment associated with the alert's dismissal.",
686
+ "maxLength": 280
687
+ },
688
+ "fixed_at": {
689
+ "type": [
690
+ "string",
691
+ "null"
692
+ ],
693
+ "description": "The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
694
+ "format": "date-time",
695
+ "readOnly": true
696
+ },
697
+ "auto_dismissed_at": {
698
+ "type": [
699
+ "string",
700
+ "null"
701
+ ],
702
+ "description": "The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.",
703
+ "format": "date-time",
704
+ "readOnly": true
705
+ },
706
+ "dismissal_request": {
707
+ "title": "Dependabot alert dismissal request",
708
+ "description": "Information about an active dismissal request for this Dependabot alert.",
709
+ "type": [
710
+ "object",
711
+ "null"
712
+ ],
713
+ "properties": {
714
+ "id": {
715
+ "type": "integer",
716
+ "description": "The unique identifier of the dismissal request."
717
+ },
718
+ "status": {
719
+ "type": "string",
720
+ "description": "The current status of the dismissal request.",
721
+ "enum": [
722
+ "pending",
723
+ "approved",
724
+ "rejected",
725
+ "cancelled"
726
+ ]
727
+ },
728
+ "requester": {
729
+ "type": "object",
730
+ "description": "The user who requested the dismissal.",
731
+ "properties": {
732
+ "id": {
733
+ "type": "integer",
734
+ "description": "The unique identifier of the user."
735
+ },
736
+ "login": {
737
+ "type": "string",
738
+ "description": "The login name of the user."
739
+ }
740
+ }
741
+ },
742
+ "created_at": {
743
+ "type": "string",
744
+ "format": "date-time",
745
+ "description": "The date and time when the dismissal request was created."
746
+ },
747
+ "url": {
748
+ "type": "string",
749
+ "format": "uri",
750
+ "description": "The API URL to get more information about this dismissal request."
751
+ }
752
+ }
753
+ },
754
+ "assignees": {
755
+ "type": "array",
756
+ "description": "The users assigned to this alert.",
757
+ "readOnly": true,
758
+ "items": {
759
+ "title": "Simple User",
760
+ "description": "A GitHub user.",
761
+ "type": "object",
762
+ "properties": {
763
+ "name": {
764
+ "type": [
765
+ "string",
766
+ "null"
767
+ ]
768
+ },
769
+ "email": {
770
+ "type": [
771
+ "string",
772
+ "null"
773
+ ]
774
+ },
775
+ "login": {
776
+ "type": "string"
777
+ },
778
+ "id": {
779
+ "type": "integer",
780
+ "format": "int64"
781
+ },
782
+ "node_id": {
783
+ "type": "string"
784
+ },
785
+ "avatar_url": {
786
+ "type": "string",
787
+ "format": "uri"
788
+ },
789
+ "gravatar_id": {
790
+ "type": [
791
+ "string",
792
+ "null"
793
+ ]
794
+ },
795
+ "url": {
796
+ "type": "string",
797
+ "format": "uri"
798
+ },
799
+ "html_url": {
800
+ "type": "string",
801
+ "format": "uri"
802
+ },
803
+ "followers_url": {
804
+ "type": "string",
805
+ "format": "uri"
806
+ },
807
+ "following_url": {
808
+ "type": "string"
809
+ },
810
+ "gists_url": {
811
+ "type": "string"
812
+ },
813
+ "starred_url": {
814
+ "type": "string"
815
+ },
816
+ "subscriptions_url": {
817
+ "type": "string",
818
+ "format": "uri"
819
+ },
820
+ "organizations_url": {
821
+ "type": "string",
822
+ "format": "uri"
823
+ },
824
+ "repos_url": {
825
+ "type": "string",
826
+ "format": "uri"
827
+ },
828
+ "events_url": {
829
+ "type": "string"
830
+ },
831
+ "received_events_url": {
832
+ "type": "string",
833
+ "format": "uri"
834
+ },
835
+ "type": {
836
+ "type": "string"
837
+ },
838
+ "site_admin": {
839
+ "type": "boolean"
840
+ },
841
+ "starred_at": {
842
+ "type": "string"
843
+ },
844
+ "user_view_type": {
845
+ "type": "string"
846
+ }
847
+ },
848
+ "required": [
849
+ "avatar_url",
850
+ "events_url",
851
+ "followers_url",
852
+ "following_url",
853
+ "gists_url",
854
+ "gravatar_id",
855
+ "html_url",
856
+ "id",
857
+ "node_id",
858
+ "login",
859
+ "organizations_url",
860
+ "received_events_url",
861
+ "repos_url",
862
+ "site_admin",
863
+ "starred_url",
864
+ "subscriptions_url",
865
+ "type",
866
+ "url"
867
+ ]
868
+ }
869
+ },
870
+ "repository": {
871
+ "title": "Simple Repository",
872
+ "description": "A GitHub repository.",
873
+ "type": "object",
874
+ "properties": {
875
+ "id": {
876
+ "type": "integer",
877
+ "format": "int64",
878
+ "description": "A unique identifier of the repository."
879
+ },
880
+ "node_id": {
881
+ "type": "string",
882
+ "description": "The GraphQL identifier of the repository."
883
+ },
884
+ "name": {
885
+ "type": "string",
886
+ "description": "The name of the repository."
887
+ },
888
+ "full_name": {
889
+ "type": "string",
890
+ "description": "The full, globally unique, name of the repository."
891
+ },
892
+ "owner": {
893
+ "title": "Simple User",
894
+ "description": "A GitHub user.",
895
+ "type": "object",
896
+ "properties": {
897
+ "name": {
898
+ "type": [
899
+ "string",
900
+ "null"
901
+ ]
902
+ },
903
+ "email": {
904
+ "type": [
905
+ "string",
906
+ "null"
907
+ ]
908
+ },
909
+ "login": {
910
+ "type": "string"
911
+ },
912
+ "id": {
913
+ "type": "integer",
914
+ "format": "int64"
915
+ },
916
+ "node_id": {
917
+ "type": "string"
918
+ },
919
+ "avatar_url": {
920
+ "type": "string",
921
+ "format": "uri"
922
+ },
923
+ "gravatar_id": {
924
+ "type": [
925
+ "string",
926
+ "null"
927
+ ]
928
+ },
929
+ "url": {
930
+ "type": "string",
931
+ "format": "uri"
932
+ },
933
+ "html_url": {
934
+ "type": "string",
935
+ "format": "uri"
936
+ },
937
+ "followers_url": {
938
+ "type": "string",
939
+ "format": "uri"
940
+ },
941
+ "following_url": {
942
+ "type": "string"
943
+ },
944
+ "gists_url": {
945
+ "type": "string"
946
+ },
947
+ "starred_url": {
948
+ "type": "string"
949
+ },
950
+ "subscriptions_url": {
951
+ "type": "string",
952
+ "format": "uri"
953
+ },
954
+ "organizations_url": {
955
+ "type": "string",
956
+ "format": "uri"
957
+ },
958
+ "repos_url": {
959
+ "type": "string",
960
+ "format": "uri"
961
+ },
962
+ "events_url": {
963
+ "type": "string"
964
+ },
965
+ "received_events_url": {
966
+ "type": "string",
967
+ "format": "uri"
968
+ },
969
+ "type": {
970
+ "type": "string"
971
+ },
972
+ "site_admin": {
973
+ "type": "boolean"
974
+ },
975
+ "starred_at": {
976
+ "type": "string"
977
+ },
978
+ "user_view_type": {
979
+ "type": "string"
980
+ }
981
+ },
982
+ "required": [
983
+ "avatar_url",
984
+ "events_url",
985
+ "followers_url",
986
+ "following_url",
987
+ "gists_url",
988
+ "gravatar_id",
989
+ "html_url",
990
+ "id",
991
+ "node_id",
992
+ "login",
993
+ "organizations_url",
994
+ "received_events_url",
995
+ "repos_url",
996
+ "site_admin",
997
+ "starred_url",
998
+ "subscriptions_url",
999
+ "type",
1000
+ "url"
1001
+ ]
1002
+ },
1003
+ "private": {
1004
+ "type": "boolean",
1005
+ "description": "Whether the repository is private."
1006
+ },
1007
+ "html_url": {
1008
+ "type": "string",
1009
+ "format": "uri",
1010
+ "description": "The URL to view the repository on GitHub.com."
1011
+ },
1012
+ "description": {
1013
+ "type": [
1014
+ "string",
1015
+ "null"
1016
+ ],
1017
+ "description": "The repository description."
1018
+ },
1019
+ "fork": {
1020
+ "type": "boolean",
1021
+ "description": "Whether the repository is a fork."
1022
+ },
1023
+ "url": {
1024
+ "type": "string",
1025
+ "format": "uri",
1026
+ "description": "The URL to get more information about the repository from the GitHub API."
1027
+ },
1028
+ "archive_url": {
1029
+ "type": "string",
1030
+ "description": "A template for the API URL to download the repository as an archive."
1031
+ },
1032
+ "assignees_url": {
1033
+ "type": "string",
1034
+ "description": "A template for the API URL to list the available assignees for issues in the repository."
1035
+ },
1036
+ "blobs_url": {
1037
+ "type": "string",
1038
+ "description": "A template for the API URL to create or retrieve a raw Git blob in the repository."
1039
+ },
1040
+ "branches_url": {
1041
+ "type": "string",
1042
+ "description": "A template for the API URL to get information about branches in the repository."
1043
+ },
1044
+ "collaborators_url": {
1045
+ "type": "string",
1046
+ "description": "A template for the API URL to get information about collaborators of the repository."
1047
+ },
1048
+ "comments_url": {
1049
+ "type": "string",
1050
+ "description": "A template for the API URL to get information about comments on the repository."
1051
+ },
1052
+ "commits_url": {
1053
+ "type": "string",
1054
+ "description": "A template for the API URL to get information about commits on the repository."
1055
+ },
1056
+ "compare_url": {
1057
+ "type": "string",
1058
+ "description": "A template for the API URL to compare two commits or refs."
1059
+ },
1060
+ "contents_url": {
1061
+ "type": "string",
1062
+ "description": "A template for the API URL to get the contents of the repository."
1063
+ },
1064
+ "contributors_url": {
1065
+ "type": "string",
1066
+ "format": "uri",
1067
+ "description": "A template for the API URL to list the contributors to the repository."
1068
+ },
1069
+ "deployments_url": {
1070
+ "type": "string",
1071
+ "format": "uri",
1072
+ "description": "The API URL to list the deployments of the repository."
1073
+ },
1074
+ "downloads_url": {
1075
+ "type": "string",
1076
+ "format": "uri",
1077
+ "description": "The API URL to list the downloads on the repository."
1078
+ },
1079
+ "events_url": {
1080
+ "type": "string",
1081
+ "format": "uri",
1082
+ "description": "The API URL to list the events of the repository."
1083
+ },
1084
+ "forks_url": {
1085
+ "type": "string",
1086
+ "format": "uri",
1087
+ "description": "The API URL to list the forks of the repository."
1088
+ },
1089
+ "git_commits_url": {
1090
+ "type": "string",
1091
+ "description": "A template for the API URL to get information about Git commits of the repository."
1092
+ },
1093
+ "git_refs_url": {
1094
+ "type": "string",
1095
+ "description": "A template for the API URL to get information about Git refs of the repository."
1096
+ },
1097
+ "git_tags_url": {
1098
+ "type": "string",
1099
+ "description": "A template for the API URL to get information about Git tags of the repository."
1100
+ },
1101
+ "issue_comment_url": {
1102
+ "type": "string",
1103
+ "description": "A template for the API URL to get information about issue comments on the repository."
1104
+ },
1105
+ "issue_events_url": {
1106
+ "type": "string",
1107
+ "description": "A template for the API URL to get information about issue events on the repository."
1108
+ },
1109
+ "issues_url": {
1110
+ "type": "string",
1111
+ "description": "A template for the API URL to get information about issues on the repository."
1112
+ },
1113
+ "keys_url": {
1114
+ "type": "string",
1115
+ "description": "A template for the API URL to get information about deploy keys on the repository."
1116
+ },
1117
+ "labels_url": {
1118
+ "type": "string",
1119
+ "description": "A template for the API URL to get information about labels of the repository."
1120
+ },
1121
+ "languages_url": {
1122
+ "type": "string",
1123
+ "format": "uri",
1124
+ "description": "The API URL to get information about the languages of the repository."
1125
+ },
1126
+ "merges_url": {
1127
+ "type": "string",
1128
+ "format": "uri",
1129
+ "description": "The API URL to merge branches in the repository."
1130
+ },
1131
+ "milestones_url": {
1132
+ "type": "string",
1133
+ "description": "A template for the API URL to get information about milestones of the repository."
1134
+ },
1135
+ "notifications_url": {
1136
+ "type": "string",
1137
+ "description": "A template for the API URL to get information about notifications on the repository."
1138
+ },
1139
+ "pulls_url": {
1140
+ "type": "string",
1141
+ "description": "A template for the API URL to get information about pull requests on the repository."
1142
+ },
1143
+ "releases_url": {
1144
+ "type": "string",
1145
+ "description": "A template for the API URL to get information about releases on the repository."
1146
+ },
1147
+ "stargazers_url": {
1148
+ "type": "string",
1149
+ "format": "uri",
1150
+ "description": "The API URL to list the stargazers on the repository."
1151
+ },
1152
+ "statuses_url": {
1153
+ "type": "string",
1154
+ "description": "A template for the API URL to get information about statuses of a commit."
1155
+ },
1156
+ "subscribers_url": {
1157
+ "type": "string",
1158
+ "format": "uri",
1159
+ "description": "The API URL to list the subscribers on the repository."
1160
+ },
1161
+ "subscription_url": {
1162
+ "type": "string",
1163
+ "format": "uri",
1164
+ "description": "The API URL to subscribe to notifications for this repository."
1165
+ },
1166
+ "tags_url": {
1167
+ "type": "string",
1168
+ "format": "uri",
1169
+ "description": "The API URL to get information about tags on the repository."
1170
+ },
1171
+ "teams_url": {
1172
+ "type": "string",
1173
+ "format": "uri",
1174
+ "description": "The API URL to list the teams on the repository."
1175
+ },
1176
+ "trees_url": {
1177
+ "type": "string",
1178
+ "description": "A template for the API URL to create or retrieve a raw Git tree of the repository."
1179
+ },
1180
+ "hooks_url": {
1181
+ "type": "string",
1182
+ "format": "uri",
1183
+ "description": "The API URL to list the hooks on the repository."
1184
+ }
1185
+ },
1186
+ "required": [
1187
+ "archive_url",
1188
+ "assignees_url",
1189
+ "blobs_url",
1190
+ "branches_url",
1191
+ "collaborators_url",
1192
+ "comments_url",
1193
+ "commits_url",
1194
+ "compare_url",
1195
+ "contents_url",
1196
+ "contributors_url",
1197
+ "deployments_url",
1198
+ "description",
1199
+ "downloads_url",
1200
+ "events_url",
1201
+ "fork",
1202
+ "forks_url",
1203
+ "full_name",
1204
+ "git_commits_url",
1205
+ "git_refs_url",
1206
+ "git_tags_url",
1207
+ "hooks_url",
1208
+ "html_url",
1209
+ "id",
1210
+ "node_id",
1211
+ "issue_comment_url",
1212
+ "issue_events_url",
1213
+ "issues_url",
1214
+ "keys_url",
1215
+ "labels_url",
1216
+ "languages_url",
1217
+ "merges_url",
1218
+ "milestones_url",
1219
+ "name",
1220
+ "notifications_url",
1221
+ "owner",
1222
+ "private",
1223
+ "pulls_url",
1224
+ "releases_url",
1225
+ "stargazers_url",
1226
+ "statuses_url",
1227
+ "subscribers_url",
1228
+ "subscription_url",
1229
+ "tags_url",
1230
+ "teams_url",
1231
+ "trees_url",
1232
+ "url"
1233
+ ]
1234
+ }
1235
+ },
1236
+ "required": [
1237
+ "number",
1238
+ "state",
1239
+ "dependency",
1240
+ "security_advisory",
1241
+ "security_vulnerability",
1242
+ "url",
1243
+ "html_url",
1244
+ "created_at",
1245
+ "updated_at",
1246
+ "dismissed_at",
1247
+ "dismissed_by",
1248
+ "dismissed_reason",
1249
+ "dismissed_comment",
1250
+ "fixed_at",
1251
+ "repository"
1252
+ ],
1253
+ "additionalProperties": false
1254
+ }
1255
+ }