Skip to content

feat: add support for update report definition endpoint#125

Open
smcgowan-smartsheet wants to merge 18 commits intosmartsheet:reports-v1from
smcgowan-smartsheet:feat/update-report-definition
Open

feat: add support for update report definition endpoint#125
smcgowan-smartsheet wants to merge 18 commits intosmartsheet:reports-v1from
smcgowan-smartsheet:feat/update-report-definition

Conversation

@smcgowan-smartsheet
Copy link
Copy Markdown

@smcgowan-smartsheet smcgowan-smartsheet commented Feb 24, 2026

Pull Request

Description

Adding support for update report definition endpoint

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Code refactoring
  • Other (please describe):

What Changes Were Made

  • Support for PUT /reports/{reportId}/definition endpoint
  • New update_report_definition() method in Reports class to update report definitions
  • New ReportDefinition model with support for filters, grouping, aggregation, and sorting criteria
  • New ReportFilterExpression model with recursive structure for complex filter logic
  • New ReportFilterCriterion model for individual filter conditions
  • New ReportColumnIdentifier model for identifying columns in report criteria
  • New ReportGroupingCriterion model for report grouping configuration
  • New ReportAggregationCriterion model for report aggregation configuration
  • New ReportSortingCriterion model for report sorting configuration
  • New ReportAggregationType enum (SUM, AVG, MIN, MAX, COUNT, FIRST, LAST)
  • New ReportBooleanOperator enum (AND, OR) for filter expressions
  • New ReportFilterOperator enum with 36 operators for filter criteria
  • New ReportSystemColumnType enum with report-specific system columns including SHEET_NAME
  • Type hints for all new report models and methods
  • WireMock integration tests for report definition update endpoint including nested filter validation

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have updated the relevant files in docs-source/ (see Documentation guidelines)
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

@roomote-v0
Copy link
Copy Markdown
Contributor

roomote-v0 bot commented Feb 24, 2026

Rooviewer Clock   See task

Latest commit reformats documentation for improved readability. No new issues found.

  • Fix alphabetical ordering in smartsheet_enums.rst - PredecessorType should appear before Report* enums
  • Use SDK's standard query_params pattern instead of manual string concatenation for updateFilters parameter
  • Convert report enums to inherit from str, Enum with string values for proper API serialization
  • Add AUTO_NUMBER to ReportSystemColumnType enum
  • Remove SHEET_NAME from ReportSystemColumnType enum (replaced by sheetColumnName property)
  • Use List[ReportScopeInclusion] from typing module instead of Python 3.9+ list[ReportScopeInclusion] syntax for Python 3.7+ compatibility
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

update docs-source with the new models, and enums
@smcgowan-smartsheet smcgowan-smartsheet marked this pull request as ready for review February 24, 2026 16:57
@roomote-v0
Copy link
Copy Markdown
Contributor

roomote-v0 bot commented Feb 24, 2026

Rooviewer Clock   See task

Review completed. The implementation looks solid and follows established SDK patterns. All models properly implement serialization, use appropriate type hints, and include comprehensive tests. The CHANGELOG has been updated appropriately. The previous alphabetical ordering issue in docs-source/smartsheet_enums.rst has been resolved.

  • Fix alphabetical ordering in smartsheet_enums.rst - PredecessorType should appear before Report* enums

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

add update filters query param support
change aggregationCriteria to summarizingCriteria to match spec
changed to PUT from PATCH

no longer returning changed definition

no longer needs query param
@smcgowan-smartsheet smcgowan-smartsheet changed the base branch from mainline to reports-v1 March 31, 2026 10:49
update objects based on latest spec
…ate-report-definition

# Conflicts:
#	CHANGELOG.md
#	docs-source/smartsheet_enums.rst
#	docs-source/smartsheet_models.rst
#	smartsheet/models/__init__.py
#	smartsheet/models/enums/__init__.py
#	smartsheet/reports.py
@roomote-v0
Copy link
Copy Markdown
Contributor

roomote-v0 bot commented Apr 2, 2026

Fixaroo Clock   See task

Fixed the reported issues. All local checks passed.

View commit | Revert commit

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