Skip to content

Add Bugsink exception adapter#41

Merged
saturnflyer merged 1 commit intomainfrom
bugsink-adapter
Mar 18, 2026
Merged

Add Bugsink exception adapter#41
saturnflyer merged 1 commit intomainfrom
bugsink-adapter

Conversation

@saturnflyer
Copy link
Member

@saturnflyer saturnflyer commented Mar 17, 2026

Summary

  • Adds a new Bugsink exception source adapter that fetches issues via Bugsink's REST API (/api/canonical/0/issues/), enabling Newshound to display errors from a separately-hosted Bugsink instance
  • Introduces exception_source_config on Configuration — a generic hash for passing connection details (url, token) and adapter-specific options to HTTP-based adapters
  • Validates all required config keys at once, reporting every missing key in a single error rather than failing on the first one. Required keys are exposed via Bugsink.required_keys for external use
  • Existing adapters (ExceptionTrack, SolidErrors) are unaffected; they accept but ignore the config

Usage

Newshound.configure do |config|
  config.exception_source = :bugsink
  config.exception_source_config = {
    url: "https://bugs.example.com",
    token: ENV["BUGSINK_TOKEN"],
    project_id: 1
  }
end

Test plan

  • All 133 existing + new specs pass
  • Standard Ruby linter passes
  • Coverage at 93.89%
  • Manual test against a live Bugsink instance

🤖 Generated with Claude Code

@saturnflyer saturnflyer requested a review from a team as a code owner March 17, 2026 22:15
Introduces a new exception source adapter for Bugsink, an open-source
error tracker. The adapter fetches issues via Bugsink's REST API and
maps them to the existing banner and report formats.

Also adds exception_source_config to Configuration, allowing HTTP-based
adapters to receive connection details (url, token) and adapter-specific
options through a single config hash. Existing adapters are unaffected.

Added: Bugsink exception source adapter for HTTP-based error tracking
Added: exception_source_config option for passing connection details to adapters
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@saturnflyer saturnflyer merged commit d5c4130 into main Mar 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants