feat: Add Dashboard API support (dashboards, widgets, widget types) and devcontainer#108
Open
abhishekbagde wants to merge 4 commits into
Open
feat: Add Dashboard API support (dashboards, widgets, widget types) and devcontainer#108abhishekbagde wants to merge 4 commits into
abhishekbagde wants to merge 4 commits into
Conversation
…ning script - Add .devcontainer/ with Dockerfile, devcontainer.json, import-certs.sh - Add tools/setup-ado-full.sh for full ADO project provisioning - Add push_via_api.py for GitHub push via REST API (bypasses Zscaler) - Implement Dashboard API: DashboardRequestBuilder (router), DashboardsRequestBuilder, WidgetsRequestBuilder, WidgetTypesRequestBuilder with full CRUD + team-scoped paths - Add 11 Dashboard type classes (Dashboard, Widget, WidgetSize, etc.) - Add ApiVersion constants: DASHBOARD, DASHBOARD_WIDGET, DASHBOARD_WIDGET_TYPES - Wire DashboardRequestBuilder into AzDServiceClient interface and BaseServiceClient - Add DashboardRequestBuilderTest with integration tests (5 tests pass)
- Fix WidgetMetadata.isEnabled Javadoc (was describing lightbox, not enabled state) - Add examples/Dashboard.md with full usage examples for dashboards, widgets and widget types - Expand DashboardRequestBuilderTest: add widget CRUD tests, replaceDashboards test, remove @FixMethodOrder anti-pattern (now matches all other test classes) - Fix .devcontainer/import-certs.sh: remove set -e and add timeout so blocked hosts on restricted networks are skipped gracefully instead of aborting setup - Fix devcontainer.json postCreateCommand: use semicolon so cert import failure does not block mvn dependency:resolve or pip install - Remove tools/setup-ado-full.sh (personal provisioning script, not part of SDK) - Remove push_via_api.py from tracking; add to .gitignore (personal utility) - Update CHANGELOG.md for 7.1.0 Dashboard API release
- Fix WidgetMetadata.isEnabled Javadoc (was describing lightbox, not enabled state) - Add examples/Dashboard.md with full usage examples for dashboards, widgets and widget types - Expand DashboardRequestBuilderTest: add widget CRUD tests, replaceDashboards test, remove @FixMethodOrder anti-pattern (now matches all other test classes) - Fix .devcontainer/import-certs.sh: remove set -e and add timeout so blocked hosts on restricted networks are skipped gracefully instead of aborting setup - Fix devcontainer.json postCreateCommand: use semicolon so cert import failure does not block mvn dependency:resolve or pip install - Remove tools/setup-ado-full.sh (personal provisioning script, not part of SDK) - Remove push_via_api.py from tracking; add to .gitignore (personal utility) - Update CHANGELOG.md for 7.1.0 Dashboard API release
Add Dashboard API implementation, devcontainer setup and ADO provisio…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds full support for the Dashboard API (v7.2), enabling CRUD operations on dashboards,
widgets and widget types for team-scoped Azure DevOps projects.
Changes
New API Support
client.dashboard().dashboards()— create, get, list, replace, replaceDashboards, deleteclient.dashboard().widgets()— create, get, list, replace, update (PATCH), deleteclient.dashboard().widgetTypes()— list by scope, getMetadata by contribution IDCompletableFuture) variantsNew Types
Dashboard,DashboardGroup,DashboardList,Widget,WidgetList,WidgetMetadata,WidgetMetadataResponse,WidgetTypesResponse,WidgetPosition,WidgetSize,LightboxOptions,SemanticVersionAPI Version Constants
Added
DASHBOARD,DASHBOARD_WIDGET,DASHBOARD_WIDGET_TYPEStoApiVersionDevContainer
Added
.devcontainer/for Java 11 development environmentPR Checklist
DashboardRequestBuilderTest— 8 tests covering dashboards CRUD, widget CRUD, widget types, and replaceDashboards)CHANGELOG.md— added7.1.0section)Additional notes
widgets().update()PATCH operation requires fetching the existing widget first to preservesizeandcontributionId— this is documented inexamples/Dashboard.md.examples/Dashboard.mdadded following the same format as all other API examples.