-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Integration][Datadog] Datadog Teams and Users #1256
base: main
Are you sure you want to change the base?
Conversation
…` for paginated data retrieval.
- Added `on_resync_teams()` to fetch and enrich teams with member information. - Added `on_resync_users()` to fetch users in batches. - Implemented `enrich_teams_with_members()` to parallelize team member retrieval.
- Added `TeamSelector` with `include_members` option to control member inclusion. - Added `TeamResourceConfig` to include team-specific configuration in the resource setup.
- Added `datadogTeam` and `datadogUser` blueprints to represent Datadog teams and users. - Introduced resource configurations for teams and users in `port-app-config.yaml`. - Added team and user support to `spec.yaml` to enable integration features. - Add team relation to datadog service blueprint - Fix team and service relationships using handle matching
- Renamed `get_paginated_team_members` to `get_team_members`. - Simplified logic for fetching and processing team members.
- Removed unused fields from `blueprints.json` and `port-app-config.yaml`. - Added descriptions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great. left some minor comments
Co-authored-by: PagesCoffy <[email protected]>
- Remove redundant logs from client and main - Add clear team enrichment notification log - Move team enrichment functionality to client class
…ps://github.com/port-labs/ocean into PORT-12104-Datadog-Enhancements-Users-and-Teams
…2104-Datadog-Enhancements-Users-and-Teams
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments @shariff-6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
integrations/datadog/main.py
Outdated
if selector.include_members: | ||
teams = await dd_client.enrich_teams_with_members(teams) | ||
yield teams |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the enrich_teams_with_members
should be just get_team_members
and the logic of the merge will be in the main file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, makes sense. 👍 .
- Moved team member fetching directly into `on_resync_teams`.
…ps://github.com/port-labs/ocean into PORT-12104-Datadog-Enhancements-Users-and-Teams
…2104-Datadog-Enhancements-Users-and-Teams
Description
What -
Added support for Datadog Teams and Users in the integration, including fetching, processing, and enriching data related to teams and users.
Why -
Enable users to associate monitors, SLOs, and other Datadog resources with specific teams and users
How -
resources/blueprints.json
to define schemas for Datadog Teams and Users.client.py
to include methods for fetching teams and users, as well as members of specific teams.main.py
logic to enrich team data with associated members.resources/port-app-config.yaml
to map Datadog Team and User properties to corresponding Port entities.Type of change
Please leave one option from the following and delete the rest:
All tests should be run against the port production environment(using a testing org).
Core testing checklist
Integration testing checklist
examples
folder in the integration directory.Preflight checklist
Screenshots
Include screenshots from your environment showing how the resources of the integration will look.
API Documentation
Provide links to the API documentation used for this integration.