Skip to content

feat: add GetDynamicDashboard to DashboardService - #441

Open
NickJosevski wants to merge 1 commit into
mainfrom
nj/dashboard-dynamic
Open

feat: add GetDynamicDashboard to DashboardService#441
NickJosevski wants to merge 1 commit into
mainfrom
nj/dashboard-dynamic

Conversation

@NickJosevski

@NickJosevski NickJosevski commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Change

DashboardService had no methods, so the dynamic dashboard endpoint was unreachable. DashboardDynamicQuery and DashboardItem already existed.

Adds GetDynamicDashboard(query) and the Dashboard response type it returns. Gives the release currently deployed to each environment, filterable by project and environment, optionally including the previous deployment.

ProjectLimit is a *int so callers can tell an uncapped dashboard from one capped at zero.

GetDashboard for the non-dynamic endpoint is still unimplemented.

Notes

Path expansion sits in an unexported helper so it can be tested without HTTP. The dynamic dashboard has its own link, so it is parsed directly rather than through GetURITemplate.

The link template comma-joins list params. Both that and repeated params were checked against a live server and give the same results.

Tests

Unit tests cover URI expansion and deserialisation, the latter pinned to a captured response.

Also run end to end against a live instance through a prototype CLI command: filters by name and by ID, --include-previous, and tenanted deployments.

Backs OctopusDeploy/cli#305.

🤖 Generated with Claude Code

DashboardService had no methods, so the dynamic dashboard endpoint was
unreachable from the SDK. DashboardDynamicQuery and DashboardItem already
existed.

Adds GetDynamicDashboard and the Dashboard response type it returns.
ProjectLimit is a pointer so callers can tell an uncapped dashboard from
one capped at zero.

Backs OctopusDeploy/cli#305.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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