Skip to content

BED-8693: Complete data collection regardless of single object errors#17

Open
StranDutton wants to merge 1 commit into
mainfrom
fix/BED-8693-error-resilience
Open

BED-8693: Complete data collection regardless of single object errors#17
StranDutton wants to merge 1 commit into
mainfrom
fix/BED-8693-error-resilience

Conversation

@StranDutton

@StranDutton StranDutton commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Adds try/except error handling to all resource and transformer functions in the OpenHound GitHub extension so that a failure on a single object (org, repo, team, etc.) doesn't abort the entire collection.

summary of changes:

  • organization.py: Wrapped 40 resource/transformer functions with per-object error handling
  • enterprise.py: Wrapped 11 resource/transformer functions with per-object error handling
  • Resource functions (multi-org loops): catch + log + continue to next org
  • Transformer functions (per-item): catch + log + return so DLT moves to next item
  • Unit tests added to confirm error resilience logic

Log format follows the existing safe_resource_wrapper convention

The extra bit in the error log messaging is included because they get emitted as top-level keys in JSON logs. It's only useful for log aggregation in BHE service deployments (they're not visible in CLI mode)

Complementary to PR #32 which handles schema/data-type failures. This PR handles API/network failures, but both apply to the same ticket

Validation: Successfully ran a collection to SpecterOps GitHub org

@StranDutton StranDutton self-assigned this Jun 24, 2026
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.

1 participant