Repository navigation
v1.8.0 - AnalyticsReport Status Tracking
π What's New in v1.8.0
β¨ New Features
AnalyticsReport Status Tracking
Added comprehensive status tracking capabilities to AnalyticsReport, enabling better monitoring and management of report processing states.
New Status Enum:
AnalyticsReportStatus.PENDING- Report is waiting to be processedAnalyticsReportStatus.IN_PROGRESS- Report is currently being processedAnalyticsReportStatus.COMPLETED- Report processing completed successfullyAnalyticsReportStatus.FAILED- Report processing failed
New Fields:
status- Current processing status of the reportcompleted_at- Timestamp when report processing completed (auto-set when status becomes COMPLETED)
New Filtering:
statusInfilter inAnalyticsReportsFilterOptions- Filter reports by multiple status values- Example: Find all COMPLETED or FAILED reports
Status Update Support:
- Added
statusparameter toupdate_analytics_report()method - Enables status transitions during report lifecycle (e.g., PENDING β IN_PROGRESS β COMPLETED)
π Documentation Updates
- Updated RELEASE_PROCESS.md with file-based PR and release notes creation methods
- Improved deployment workflow to avoid terminal output issues
π§ Technical Details
Modified Files:
spb_onprem/reports/entities/analytics_report.py- Added AnalyticsReportStatus enum and status/completed_at fieldsspb_onprem/reports/params/analytics_reports.py- Added statusIn filter parameterspb_onprem/reports/params/update_analytics_report.py- Added status parameterspb_onprem/reports/queries.py- Updated GraphQL queries for status fieldsspb_onprem/reports/service.py- Added status parameter supportspb_onprem/__init__.py,spb_onprem/entities.py,spb_onprem/reports/__init__.py,spb_onprem/reports/entities/__init__.py- Updated exportstests/reports/test_workflow.py- Added comprehensive status tests (13 steps)RELEASE_PROCESS.md- Updated deployment process documentation
β Testing
- β All tests passing (13-step workflow test)
- β Status field verification on report creation
- β Status transition tests (PENDING β IN_PROGRESS β COMPLETED)
- β completedAt field auto-setting verification
- β statusIn filter testing with single and multiple status values
- β Full workflow test covering all status scenarios
π‘ Usage Example
from spb_onprem import ReportService, AnalyticsReportStatus, AnalyticsReportsFilter, AnalyticsReportsFilterOptions
report_service = ReportService()
# Update report status
report = report_service.update_analytics_report(
dataset_id=dataset_id,
report_id=report_id,
status=AnalyticsReportStatus.IN_PROGRESS
)
# Filter by status
filter_opts = AnalyticsReportsFilter(
must_filter=AnalyticsReportsFilterOptions(
status_in=[AnalyticsReportStatus.COMPLETED, AnalyticsReportStatus.FAILED]
)
)
reports, _, _ = report_service.get_analytics_reports(
dataset_id=dataset_id,
analytics_reports_filter=filter_opts
)π Backward Compatibility
This release is 100% backward compatible. All existing code will continue to work without modifications.
π Related
- Implements PR #75
- Aligns with backend PR #259
Full Changelog: v1.7.0...v1.8.0