bugsnag-api 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +5 -5
  2. data/.buildkite/pipeline.yml +6 -0
  3. data/.github/ISSUE_TEMPLATE/A.md +14 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +16 -0
  7. data/.github/support.md +19 -0
  8. data/.github/workflows/tests.yml +53 -0
  9. data/.rubocop.yml +4 -0
  10. data/.rubocop_todo.yml +271 -0
  11. data/CHANGELOG.md +34 -0
  12. data/CONTRIBUTING.md +1 -1
  13. data/Gemfile +9 -0
  14. data/README.md +77 -2
  15. data/bugsnag-api.gemspec +42 -7
  16. data/config/.gitignore +1 -0
  17. data/docker-compose.yml +9 -0
  18. data/dockerfiles/Dockerfile.audit +5 -0
  19. data/lib/bugsnag/api/client.rb +18 -1
  20. data/lib/bugsnag/api/client/collaborators.rb +1 -2
  21. data/lib/bugsnag/api/client/comments.rb +1 -1
  22. data/lib/bugsnag/api/client/currentuser.rb +0 -1
  23. data/lib/bugsnag/api/client/errors.rb +12 -11
  24. data/lib/bugsnag/api/client/eventfields.rb +1 -2
  25. data/lib/bugsnag/api/client/events.rb +1 -2
  26. data/lib/bugsnag/api/client/organizations.rb +1 -2
  27. data/lib/bugsnag/api/client/pivots.rb +1 -2
  28. data/lib/bugsnag/api/client/projects.rb +2 -3
  29. data/lib/bugsnag/api/client/releases.rb +38 -0
  30. data/lib/bugsnag/api/client/stability.rb +16 -0
  31. data/lib/bugsnag/api/client/trends.rb +8 -5
  32. data/lib/bugsnag/api/configuration.rb +1 -1
  33. data/lib/bugsnag/api/error.rb +1 -1
  34. data/lib/bugsnag/api/response/raise_error.rb +0 -2
  35. data/lib/bugsnag/api/version.rb +1 -1
  36. data/scripts/license_finder.sh +4 -0
  37. data/spec/bugsnag/api/client/releases_spec.rb +184 -0
  38. data/spec/bugsnag/api/client/stability_spec.rb +32 -0
  39. data/spec/bugsnag/api/client_spec.rb +69 -7
  40. data/spec/bugsnag/api_spec.rb +2 -0
  41. data/spec/cassettes/Bugsnag_Api_Client/_get/handles_query_params.yml +13 -21
  42. data/spec/cassettes/Bugsnag_Api_Client/_last_response/caches_the_last_agent_response.yml +13 -21
  43. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/creates_and_returns_a_collaborator.yml +14 -26
  44. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/_invitecollaborator/invites_multiple_collaborators.yml +14 -26
  45. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborator/returns_a_collaborator.yml +29 -53
  46. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_organization_collaborators.yml +30 -55
  47. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/returns_a_list_of_all_project_collaborators.yml +30 -55
  48. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_collaborators/throws_an_argument_error_if_neither_org_id_or_project_id_are_provided.yml +14 -26
  49. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_delete_collaborator/deletes_a_collaborator.yml +14 -26
  50. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_update_collaborator_permissions/updates_and_returns_the_collaborator.yml +29 -53
  51. data/spec/cassettes/Bugsnag_Api_Client_Collaborators/given_a_collaborator_exists/_view_collaborator_projects/returns_a_list_of_projects_belonging_to_the_collaborator.yml +49 -55
  52. data/spec/cassettes/Bugsnag_Api_Client_Comments/_create_comment/creates_a_comment_on_the_error.yml +17 -29
  53. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comment/retrieves_the_comment_specified.yml +32 -56
  54. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_comments/retrieves_all_comments_on_an_error.yml +33 -57
  55. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_delete_comment/deletes_the_comment_and_returns_true.yml +17 -29
  56. data/spec/cassettes/Bugsnag_Api_Client_Comments/given_a_comment_has_been_created/_update_comment/updates_the_message_on_a_comment.yml +32 -56
  57. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_auth_token/returns_the_organization_the_auth_token_belongs_to.yml +14 -27
  58. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_organizations/when_using_user_credentials/returns_users_organizations.yml +17 -31
  59. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_auth_token/lists_current_user_s_projects_in_the_organization.yml +34 -28
  60. data/spec/cassettes/Bugsnag_Api_Client_CurrentUser/_list_projects/when_using_user_credentials/lists_current_user_s_projects_in_the_organization.yml +37 -32
  61. data/spec/cassettes/Bugsnag_Api_Client_Errors/_error/returns_a_single_error.yml +14 -28
  62. data/spec/cassettes/Bugsnag_Api_Client_Errors/_errors/returns_errors_on_the_project.yml +16 -30
  63. data/spec/cassettes/Bugsnag_Api_Client_Errors/_update_errors/updates_and_returns_the_updated_errors.yml +13 -25
  64. data/spec/cassettes/Bugsnag_Api_Client_Events/_error_events/lists_all_error_events.yml +19 -30
  65. data/spec/cassettes/Bugsnag_Api_Client_Events/_event/returns_the_specified_event.yml +16 -199
  66. data/spec/cassettes/Bugsnag_Api_Client_Events/_events/returns_the_a_list_of_project_errors.yml +19 -30
  67. data/spec/cassettes/Bugsnag_Api_Client_Events/_latest_event/returns_the_last_event_on_an_error.yml +16 -199
  68. data/spec/cassettes/Bugsnag_Api_Client_Organizations/_create_organization/creates_a_new_organization.yml +17 -30
  69. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_delete_organization/deletes_the_organization.yml +32 -58
  70. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_organization/returns_the_requested_organization.yml +35 -61
  71. data/spec/cassettes/Bugsnag_Api_Client_Organizations/with_organization/_update_organization/updates_and_returns_the_organization.yml +35 -61
  72. data/spec/cassettes/Bugsnag_Api_Client_Projects/_create_project/creates_a_new_project.yml +14 -26
  73. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_delete_project/deletes_the_project.yml +26 -50
  74. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml +29 -53
  75. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml +29 -53
  76. data/spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml +29 -53
  77. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release/gets_a_single_release.yml +87 -0
  78. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/accepts_parameters.yml +90 -0
  79. data/spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/gets_releases_in_a_release_group.yml +87 -0
  80. data/spec/cassettes/Bugsnag_Api_Client_Releases/_releases/accepts_parameters.yml +92 -0
  81. data/spec/cassettes/Bugsnag_Api_Client_Releases/_releases/gets_as_list_of_releases.yml +91 -0
  82. data/spec/cassettes/Bugsnag_Api_Client_Stability/_stability_trend/gets_the_stability_trend.yml +87 -0
  83. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml +14 -26
  84. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml +14 -26
  85. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml +14 -26
  86. data/spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_trends_in_resolution_form.yml +14 -26
  87. data/spec/spec_helper.rb +14 -5
  88. metadata +66 -37
  89. data/.travis.yml +0 -20
@@ -0,0 +1,87 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.bugsnag.com/projects/BUGSNAG_PROJECT_ID/stability_trend
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Bugsnag API Ruby Gem 2.0.3
12
+ Content-Type:
13
+ - application/json
14
+ X-Version:
15
+ - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
18
+ Authorization:
19
+ - token BUGSNAG_AUTH_TOKEN
20
+ Accept-Encoding:
21
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
22
+ Accept:
23
+ - "*/*"
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Server:
30
+ - nginx
31
+ Date:
32
+ - Tue, 20 Jul 2021 15:18:48 GMT
33
+ Content-Type:
34
+ - application/json; charset=utf-8
35
+ X-Ratelimit-Limit:
36
+ - '30'
37
+ X-Ratelimit-Remaining:
38
+ - '28'
39
+ Etag:
40
+ - W/"e187a5d89e7c6769b1733ac6f27b40c2"
41
+ Cache-Control:
42
+ - max-age=0, private, must-revalidate
43
+ X-Request-Id:
44
+ - 29002730-cc73-43bf-8e19-00d56b1fa14c
45
+ X-Runtime:
46
+ - '0.076007'
47
+ Vary:
48
+ - Origin
49
+ X-Frame-Options:
50
+ - DENY
51
+ X-Content-Type-Options:
52
+ - nosniff
53
+ X-Xss-Protection:
54
+ - 1; mode=block
55
+ X-Download-Options:
56
+ - noopen
57
+ X-Permitted-Cross-Domain-Policies:
58
+ - none
59
+ Content-Security-Policy:
60
+ - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net https://*.youtube.com
61
+ https://www.google.com https://www.recaptcha.net; connect-src ''self'' https://api.bugsnag.com
62
+ https://notify.bugsnag.com https://sessions.bugsnag.com https://*.stripe.com
63
+ https://bugsnag.zendesk.com https://ekr.zdassets.com https://api.lever.co;
64
+ font-src ''self'' https://maxcdn.bootstrapcdn.com https://d2wy8f7a9ursnm.cloudfront.net;
65
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com
66
+ https://d2wy8f7a9ursnm.cloudfront.net https://px.ads.linkedin.com; object-src
67
+ ''self''; script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
68
+ https://maxcdn.bootstrapcdn.com https://code.jquery.com https://static.zdassets.com
69
+ https://ekr.zdassets.com https://cdn.headwayapp.co https://www.recaptcha.net
70
+ https://www.gstatic.com; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com
71
+ https://d2wy8f7a9ursnm.cloudfront.net'
72
+ X-Robots-Tag:
73
+ - noindex, nofollow
74
+ Strict-Transport-Security:
75
+ - max-age=31536000
76
+ Via:
77
+ - 1.1 google
78
+ Alt-Svc:
79
+ - clear
80
+ Transfer-Encoding:
81
+ - chunked
82
+ body:
83
+ encoding: ASCII-8BIT
84
+ string: '{"project_id":"BUGSNAG_PROJECT_ID","release_stage_name":"development","timeline_points":[{"bucket_start":"2021-06-21T00:00:00.000Z","bucket_end":"2021-06-22T00:00:00.000Z","total_sessions_count":25,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-22T00:00:00.000Z","bucket_end":"2021-06-23T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-23T00:00:00.000Z","bucket_end":"2021-06-24T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-24T00:00:00.000Z","bucket_end":"2021-06-25T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-25T00:00:00.000Z","bucket_end":"2021-06-26T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-26T00:00:00.000Z","bucket_end":"2021-06-27T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-27T00:00:00.000Z","bucket_end":"2021-06-28T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-28T00:00:00.000Z","bucket_end":"2021-06-29T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-29T00:00:00.000Z","bucket_end":"2021-06-30T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-06-30T00:00:00.000Z","bucket_end":"2021-07-01T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-01T00:00:00.000Z","bucket_end":"2021-07-02T00:00:00.000Z","total_sessions_count":5,"unhandled_sessions_count":3,"unhandled_rate":0.6,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-02T00:00:00.000Z","bucket_end":"2021-07-03T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-03T00:00:00.000Z","bucket_end":"2021-07-04T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-04T00:00:00.000Z","bucket_end":"2021-07-05T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-05T00:00:00.000Z","bucket_end":"2021-07-06T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-06T00:00:00.000Z","bucket_end":"2021-07-07T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-07T00:00:00.000Z","bucket_end":"2021-07-08T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-08T00:00:00.000Z","bucket_end":"2021-07-09T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-09T00:00:00.000Z","bucket_end":"2021-07-10T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-10T00:00:00.000Z","bucket_end":"2021-07-11T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-11T00:00:00.000Z","bucket_end":"2021-07-12T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-12T00:00:00.000Z","bucket_end":"2021-07-13T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-13T00:00:00.000Z","bucket_end":"2021-07-14T00:00:00.000Z","total_sessions_count":4,"unhandled_sessions_count":2,"unhandled_rate":0.5,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-14T00:00:00.000Z","bucket_end":"2021-07-15T00:00:00.000Z","total_sessions_count":26,"unhandled_sessions_count":2,"unhandled_rate":0.07692307692307693,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-15T00:00:00.000Z","bucket_end":"2021-07-16T00:00:00.000Z","total_sessions_count":149,"unhandled_sessions_count":3,"unhandled_rate":0.020134228187919462,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-16T00:00:00.000Z","bucket_end":"2021-07-17T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-17T00:00:00.000Z","bucket_end":"2021-07-18T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-18T00:00:00.000Z","bucket_end":"2021-07-19T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-19T00:00:00.000Z","bucket_end":"2021-07-20T00:00:00.000Z","total_sessions_count":0,"unhandled_sessions_count":0,"unhandled_rate":0.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0},{"bucket_start":"2021-07-20T00:00:00.000Z","bucket_end":"2021-07-21T00:00:00.000Z","total_sessions_count":16,"unhandled_sessions_count":20,"unhandled_rate":1.0,"users_seen":0,"users_with_unhandled":0,"unhandled_user_rate":0.0}]}'
85
+ http_version:
86
+ recorded_at: Tue, 20 Jul 2021 15:18:48 GMT
87
+ recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:19:56 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"f0f507c922f0ec44182c7267e527bb78"
32
+ - W/"b9eabf97ace2e4fdf949bafcea30f1d9"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - da621a3c-b6db-41d6-96d3-34c543f7d05b
36
+ - e37452c4-e7d1-4cbc-8d46-727ae5a04fd4
39
37
  X-Runtime:
40
- - '0.378838'
38
+ - '0.623912'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '5'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '[{"from":"2017-10-09T14:18:24Z","to":"2017-10-09T14:18:43Z","events_count":1},{"from":"2017-10-09T14:18:43Z","to":"2017-10-09T14:19:02Z","events_count":0},{"from":"2017-10-09T14:19:02Z","to":"2017-10-09T14:19:21Z","events_count":0},{"from":"2017-10-09T14:19:21Z","to":"2017-10-09T14:19:40Z","events_count":0},{"from":"2017-10-09T14:19:40Z","to":"2017-10-09T14:19:59Z","events_count":0}]'
64
+ encoding: UTF-8
65
+ string: '[{"from":"2017-12-12T10:58:49Z","to":"2017-12-12T11:10:12Z","events_count":475},{"from":"2017-12-12T11:10:12Z","to":"2017-12-12T11:21:35Z","events_count":0},{"from":"2017-12-12T11:21:35Z","to":"2017-12-12T11:32:58Z","events_count":0},{"from":"2017-12-12T11:32:58Z","to":"2017-12-12T11:44:21Z","events_count":0},{"from":"2017-12-12T11:44:21Z","to":"2017-12-12T11:55:44Z","events_count":0}]'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:19:55 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:55:31 GMT
80
68
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:19:56 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"f0f507c922f0ec44182c7267e527bb78"
32
+ - W/"b9eabf97ace2e4fdf949bafcea30f1d9"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - b5955090-0d86-45fb-9aef-ad4b28556cb9
36
+ - a8d39325-e71e-49bc-8417-a17b88d57e3e
39
37
  X-Runtime:
40
- - '0.320538'
38
+ - '0.476384'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '6'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '[{"from":"2017-10-09T14:18:24Z","to":"2017-10-09T14:18:43Z","events_count":1},{"from":"2017-10-09T14:18:43Z","to":"2017-10-09T14:19:02Z","events_count":0},{"from":"2017-10-09T14:19:02Z","to":"2017-10-09T14:19:21Z","events_count":0},{"from":"2017-10-09T14:19:21Z","to":"2017-10-09T14:19:40Z","events_count":0},{"from":"2017-10-09T14:19:40Z","to":"2017-10-09T14:19:59Z","events_count":0}]'
64
+ encoding: UTF-8
65
+ string: '[{"from":"2017-12-12T10:58:49Z","to":"2017-12-12T11:10:12Z","events_count":475},{"from":"2017-12-12T11:10:12Z","to":"2017-12-12T11:21:35Z","events_count":0},{"from":"2017-12-12T11:21:35Z","to":"2017-12-12T11:32:58Z","events_count":0},{"from":"2017-12-12T11:32:58Z","to":"2017-12-12T11:44:21Z","events_count":0},{"from":"2017-12-12T11:44:21Z","to":"2017-12-12T11:55:44Z","events_count":0}]'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:19:55 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:55:32 GMT
80
68
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:19:55 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"1c511dc80332636ea6a95847ec8e50c3"
32
+ - W/"be3e4e83c25536aebcf78248c64806aa"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - b8e9fb17-41e1-4b06-a712-9bd9b2e678c9
36
+ - e6e0f54b-7526-4db9-bff2-7bc80ed05e28
39
37
  X-Runtime:
40
- - '0.273818'
38
+ - '0.494850'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '7'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '[{"from":"2017-10-09T12:00:00Z","to":"2017-10-10T00:00:00Z","events_count":1}]'
64
+ encoding: UTF-8
65
+ string: '[{"from":"2017-12-12T00:00:00Z","to":"2017-12-12T12:00:00Z","events_count":475}]'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:19:54 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:55:33 GMT
80
68
  recorded_with: VCR 2.9.3
@@ -8,11 +8,13 @@ http_interactions:
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Bugsnag API Ruby Gem 1.0.3
11
+ - Bugsnag API Ruby Gem 2.0.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  X-Version:
15
15
  - '2'
16
+ X-Bugsnag-Api:
17
+ - 'true'
16
18
  Authorization:
17
19
  - token BUGSNAG_AUTH_TOKEN
18
20
  Accept-Encoding:
@@ -24,31 +26,25 @@ http_interactions:
24
26
  code: 200
25
27
  message: OK
26
28
  headers:
27
- Server:
28
- - nginx
29
- Date:
30
- - Mon, 09 Oct 2017 14:19:54 GMT
31
29
  Content-Type:
32
30
  - application/json; charset=utf-8
33
31
  Etag:
34
- - W/"1c511dc80332636ea6a95847ec8e50c3"
32
+ - W/"be3e4e83c25536aebcf78248c64806aa"
35
33
  Cache-Control:
36
34
  - max-age=0, private, must-revalidate
37
35
  X-Request-Id:
38
- - 3af63a69-b7d5-4316-a428-bd00dca5c964
36
+ - 8131ca4e-080d-4b01-a60c-133f7a7fed71
39
37
  X-Runtime:
40
- - '0.256350'
38
+ - '0.624348'
41
39
  Vary:
42
40
  - Origin
43
- X-Ratelimit-Limit:
44
- - '10'
45
- X-Ratelimit-Remaining:
46
- - '8'
41
+ X-Rack-Cors:
42
+ - miss; no-origin
47
43
  Content-Security-Policy:
48
44
  - 'default-src ''self''; child-src https://*.stripe.com headway-widget.net;
49
- connect-src ''self'' https://api.bugsnag.com https://*.stripe.com https://bugsnag.zendesk.com
50
- https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com; img-src
51
- ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
45
+ connect-src ''self'' https://api.bugsnag.com https://notify.bugsnag.com https://*.stripe.com
46
+ https://bugsnag.zendesk.com https://api.lever.co; font-src ''self'' https://maxcdn.bootstrapcdn.com;
47
+ img-src ''self'' data: https://notify.bugsnag.com https://*.stripe.com https://maxcdn.bootstrapcdn.com;
52
48
  script-src ''self'' https://d2wy8f7a9ursnm.cloudfront.net https://*.stripe.com
53
49
  https://maxcdn.bootstrapcdn.com https://code.jquery.com https://assets.zendesk.com
54
50
  https://cdn.headwayapp.co; style-src ''self'' ''unsafe-inline'' https://maxcdn.bootstrapcdn.com'
@@ -62,19 +58,11 @@ http_interactions:
62
58
  - none
63
59
  X-Xss-Protection:
64
60
  - 1; mode=block
65
- X-Robots-Tag:
66
- - noindex, nofollow
67
- Strict-Transport-Security:
68
- - max-age=31536000
69
- Via:
70
- - 1.1 google
71
- Alt-Svc:
72
- - clear
73
61
  Transfer-Encoding:
74
62
  - chunked
75
63
  body:
76
- encoding: ASCII-8BIT
77
- string: '[{"from":"2017-10-09T12:00:00Z","to":"2017-10-10T00:00:00Z","events_count":1}]'
64
+ encoding: UTF-8
65
+ string: '[{"from":"2017-12-12T00:00:00Z","to":"2017-12-12T12:00:00Z","events_count":475}]'
78
66
  http_version:
79
- recorded_at: Mon, 09 Oct 2017 14:19:54 GMT
67
+ recorded_at: Tue, 12 Dec 2017 11:55:33 GMT
80
68
  recorded_with: VCR 2.9.3
data/spec/spec_helper.rb CHANGED
@@ -28,7 +28,7 @@ VCR.configure do |c|
28
28
  :match_requests_on => [:method, :path]
29
29
  }
30
30
 
31
- c.filter_sensitive_data("https://api.bugsnag.com") { Bugsnag::Api.configuration.endpoint }
31
+ c.filter_sensitive_data("https://api.bugsnag.com") { test_bugsnag_endpoint }
32
32
  c.filter_sensitive_data("api.bugsnag.com") { URI.parse(Bugsnag::Api.configuration.endpoint).host }
33
33
  c.filter_sensitive_data("BUGSNAG_AUTH_TOKEN") { test_bugsnag_auth_token }
34
34
  c.filter_sensitive_data("BUGSNAG_LOGIN") { CGI::escape(test_bugsnag_email) }
@@ -39,7 +39,8 @@ VCR.configure do |c|
39
39
  c.filter_sensitive_data("BUGSNAG_COLLABORATOR_EMAIL") { test_bugsnag_collaborator }
40
40
  c.filter_sensitive_data("BUGSNAG_ERROR_ID") { test_bugsnag_error_id }
41
41
  c.filter_sensitive_data("BUGSNAG_EVENT_ID") { test_bugsnag_event_id }
42
-
42
+ c.filter_sensitive_data("BUGSNAG_RELEASE_ID") { test_bugsnag_release_id }
43
+ c.filter_sensitive_data("BUGSNAG_RELEASE_GROUP_ID") { test_bugsnag_release_group_id }
43
44
  end
44
45
 
45
46
  def auth_token_client
@@ -66,11 +67,11 @@ def basic_auth_client
66
67
  end
67
68
 
68
69
  def bugsnag_url(path)
69
- URI.join(Bugsnag::Api.configuration.endpoint, path).to_s
70
+ URI.join(test_bugsnag_endpoint, path).to_s
70
71
  end
71
72
 
72
73
  def basic_bugsnag_url(path, options = {})
73
- url = File.join(Bugsnag::Api.configuration.endpoint, path)
74
+ url = File.join(test_bugsnag_endpoint, path)
74
75
  uri = Addressable::URI.parse(url)
75
76
 
76
77
  uri.user = options.fetch(:login, test_bugsnag_email)
@@ -121,4 +122,12 @@ end
121
122
 
122
123
  def test_bugsnag_collaborator
123
124
  ENV["BUGSNAG_TEST_COLLABORATOR_EMAIL"] || "BUGSNAG_COLLABORATOR_EMAIL"
124
- end
125
+ end
126
+
127
+ def test_bugsnag_release_id
128
+ ENV["BUGSNAG_TEST_RELEASE_ID"] || "BUGSNAG_RELEASE_ID"
129
+ end
130
+
131
+ def test_bugsnag_release_group_id
132
+ ENV["BUGSNAG_TEST_RELEASE_GROUP_ID"] || "BUGSNAG_RELEASE_GROUP_ID"
133
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugsnag-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-10 00:00:00.000000000 Z
11
+ date: 2021-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sawyer
@@ -25,47 +25,61 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.8.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '1.3'
47
+ version: 0.52.1
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '1.3'
54
+ version: 0.52.1
41
55
  - !ruby/object:Gem::Dependency
42
- name: rake
56
+ name: faker
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - ">"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: 1.7.3
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - ">"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: 1.7.3
55
69
  - !ruby/object:Gem::Dependency
56
- name: rspec
70
+ name: json
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '3.0'
75
+ version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '3.0'
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: webmock
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -95,19 +109,19 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: 2.3.6
97
111
  - !ruby/object:Gem::Dependency
98
- name: faker
112
+ name: rspec
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ">"
115
+ - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 1.7.3
117
+ version: '3.0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ">"
122
+ - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 1.7.3
124
+ version: '3.0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: vcr
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +136,6 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '2.9'
125
- - !ruby/object:Gem::Dependency
126
- name: json
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
139
  description: Bugsnag API toolkit for ruby
140
140
  email:
141
141
  - james@bugsnag.com
@@ -143,9 +143,17 @@ executables: []
143
143
  extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
+ - ".buildkite/pipeline.yml"
147
+ - ".github/ISSUE_TEMPLATE/A.md"
148
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
149
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
150
+ - ".github/PULL_REQUEST_TEMPLATE.md"
151
+ - ".github/support.md"
152
+ - ".github/workflows/tests.yml"
146
153
  - ".gitignore"
147
154
  - ".rspec"
148
- - ".travis.yml"
155
+ - ".rubocop.yml"
156
+ - ".rubocop_todo.yml"
149
157
  - ".yardopts"
150
158
  - CHANGELOG.md
151
159
  - CONTRIBUTING.md
@@ -154,6 +162,9 @@ files:
154
162
  - README.md
155
163
  - Rakefile
156
164
  - bugsnag-api.gemspec
165
+ - config/.gitignore
166
+ - docker-compose.yml
167
+ - dockerfiles/Dockerfile.audit
157
168
  - lib/bugsnag/api.rb
158
169
  - lib/bugsnag/api/client.rb
159
170
  - lib/bugsnag/api/client/collaborators.rb
@@ -165,11 +176,14 @@ files:
165
176
  - lib/bugsnag/api/client/organizations.rb
166
177
  - lib/bugsnag/api/client/pivots.rb
167
178
  - lib/bugsnag/api/client/projects.rb
179
+ - lib/bugsnag/api/client/releases.rb
180
+ - lib/bugsnag/api/client/stability.rb
168
181
  - lib/bugsnag/api/client/trends.rb
169
182
  - lib/bugsnag/api/configuration.rb
170
183
  - lib/bugsnag/api/error.rb
171
184
  - lib/bugsnag/api/response/raise_error.rb
172
185
  - lib/bugsnag/api/version.rb
186
+ - scripts/license_finder.sh
173
187
  - spec/bugsnag/api/client/collaborators_spec.rb
174
188
  - spec/bugsnag/api/client/comments_spec.rb
175
189
  - spec/bugsnag/api/client/currentuser_spec.rb
@@ -179,6 +193,8 @@ files:
179
193
  - spec/bugsnag/api/client/organizations_spec.rb
180
194
  - spec/bugsnag/api/client/pivots_spec.rb
181
195
  - spec/bugsnag/api/client/projects_spec.rb
196
+ - spec/bugsnag/api/client/releases_spec.rb
197
+ - spec/bugsnag/api/client/stability_spec.rb
182
198
  - spec/bugsnag/api/client/trends_spec.rb
183
199
  - spec/bugsnag/api/client_spec.rb
184
200
  - spec/bugsnag/api_spec.rb
@@ -218,6 +234,12 @@ files:
218
234
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml
219
235
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml
220
236
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml
237
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release/gets_a_single_release.yml
238
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/accepts_parameters.yml
239
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/gets_releases_in_a_release_group.yml
240
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_releases/accepts_parameters.yml
241
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_releases/gets_as_list_of_releases.yml
242
+ - spec/cassettes/Bugsnag_Api_Client_Stability/_stability_trend/gets_the_stability_trend.yml
221
243
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml
222
244
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml
223
245
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml
@@ -242,8 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
264
  - !ruby/object:Gem::Version
243
265
  version: '0'
244
266
  requirements: []
245
- rubyforge_project:
246
- rubygems_version: 2.6.13
267
+ rubygems_version: 3.2.11
247
268
  signing_key:
248
269
  specification_version: 4
249
270
  summary: Bugsnag API toolkit for ruby
@@ -257,6 +278,8 @@ test_files:
257
278
  - spec/bugsnag/api/client/organizations_spec.rb
258
279
  - spec/bugsnag/api/client/pivots_spec.rb
259
280
  - spec/bugsnag/api/client/projects_spec.rb
281
+ - spec/bugsnag/api/client/releases_spec.rb
282
+ - spec/bugsnag/api/client/stability_spec.rb
260
283
  - spec/bugsnag/api/client/trends_spec.rb
261
284
  - spec/bugsnag/api/client_spec.rb
262
285
  - spec/bugsnag/api_spec.rb
@@ -296,6 +319,12 @@ test_files:
296
319
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_project/returns_the_requested_project.yml
297
320
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_regenerate_api_key/removes_the_current_api_key_and_replaces_it_with_a_new_api_key.yml
298
321
  - spec/cassettes/Bugsnag_Api_Client_Projects/given_a_project/_update_project/updates_and_returns_the_project.yml
322
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release/gets_a_single_release.yml
323
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/accepts_parameters.yml
324
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_release_groups/gets_releases_in_a_release_group.yml
325
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_releases/accepts_parameters.yml
326
+ - spec/cassettes/Bugsnag_Api_Client_Releases/_releases/gets_as_list_of_releases.yml
327
+ - spec/cassettes/Bugsnag_Api_Client_Stability/_stability_trend/gets_the_stability_trend.yml
299
328
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_error_trends_in_bucket_form.yml
300
329
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_buckets/returns_a_list_of_project_trends_in_bucket_form.yml
301
330
  - spec/cassettes/Bugsnag_Api_Client_Trends/_trends_resolution/returns_a_list_of_project_trends_in_resolution_form.yml