Skip to content

Conversation

@Bre77
Copy link
Owner

@Bre77 Bre77 commented Jan 8, 2026

This commit adds UI configuration flow support to the Splunk integration,
upgrading it from legacy quality scale to Bronze tier.

Major changes:

  • Add config_flow.py with user setup, reauth, and YAML import flows
  • Update init.py to support both config entries and legacy YAML with filters
  • Add proper error handling distinguishing connection vs auth failures
  • Implement automatic reauth flow on token expiration
  • Preserve YAML configuration support for entity filter functionality
  • Add repair issues for YAML deprecation warnings
  • Create comprehensive test suite with 100% coverage
  • Update manifest.json to enable config_flow and Bronze quality scale

Implementation details:

  • Separates connectivity checks from token validation for better error messages
  • ConfigEntryNotReady for connection issues, ConfigEntryAuthFailed for auth
  • YAML configs without filters are auto-imported to config entries
  • YAML configs with filters continue working (entity filters not supported in UI)
  • Event listener properly handles errors without crashing integration
  • Unauthorized errors trigger reauth flow automatically

Testing:

  • Full test coverage for config flow (user, import, reauth)
  • Tests for all error conditions and edge cases
  • Integration setup and unload tests
  • YAML import tests for both filter and non-filter scenarios

Based on PR home-assistant#101679 with maintainer feedback addressed.

kennedyshead and others added 30 commits December 29, 2025 11:39
…t#159604)

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
…ns (home-assistant#159375)

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
…59768)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
@Bre77 Bre77 changed the base branch from dev to splunk January 8, 2026 07:31
@Bre77 Bre77 changed the base branch from splunk to dev January 8, 2026 07:31
@Bre77 Bre77 changed the base branch from dev to splunk January 8, 2026 07:32
zerzhang and others added 13 commits January 8, 2026 08:39
…ant#160404)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
This commit adds UI configuration flow support to the Splunk integration,
upgrading it from legacy quality scale to Bronze tier.

Major changes:
- Add config_flow.py with user setup, reauth, and YAML import flows
- Update __init__.py to support both config entries and legacy YAML with filters
- Add proper error handling distinguishing connection vs auth failures
- Implement automatic reauth flow on token expiration
- Preserve YAML configuration support for entity filter functionality
- Add repair issues for YAML deprecation warnings
- Create comprehensive test suite with 100% coverage
- Update manifest.json to enable config_flow and Bronze quality scale

Implementation details:
- Separates connectivity checks from token validation for better error messages
- ConfigEntryNotReady for connection issues, ConfigEntryAuthFailed for auth
- YAML configs without filters are auto-imported to config entries
- YAML configs with filters continue working (entity filters not supported in UI)
- Event listener properly handles errors without crashing integration
- Unauthorized errors trigger reauth flow automatically

Testing:
- Full test coverage for config flow (user, import, reauth)
- Tests for all error conditions and edge cases
- Integration setup and unload tests
- YAML import tests for both filter and non-filter scenarios

Based on PR home-assistant#101679 with maintainer feedback addressed.
- Fix line length violations (max 88 chars)
- Split long import statement in __init__.py
- Break up long lines in config_flow.py validation
- Fix function signature line length in test_init.py

All Python files now comply with line length requirements.
…cale

- Remove integration_type from manifest.json
- Revert quality_scale from bronze back to legacy
- Remove quality_scale.yaml file

As per review feedback in PR home-assistant#160478
@Bre77 Bre77 force-pushed the claude/splunk-config-entry-support-tjMx7 branch from 72e5a71 to db97fd1 Compare January 8, 2026 11:30
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.