[FEAT] Add Enterprise SCIM data sources (groups/users)#3012
[FEAT] Add Enterprise SCIM data sources (groups/users)#3012vmvarela wants to merge 7 commits intointegrations:mainfrom
Conversation
|
👋 Hi! Thank you for this contribution! Just to let you know, our GitHub SDK team does a round of issue and PR reviews twice a week, every Monday and Friday! We have a process in place for prioritizing and responding to your input. Because you are a part of this community please feel free to comment, add to, or pick up any issues/PRs that are labeled with |
40121dc to
34dd75e
Compare
993bf8d to
9fc330c
Compare
130241b to
ce938ad
Compare
ce938ad to
9ca1239
Compare
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive SCIM (System for Cross-domain Identity Management) data source support for GitHub Enterprise, enabling users to query provisioned groups and users through Terraform.
- Implements four new data sources for enterprise SCIM groups and users (list and individual retrieval)
- Adds shared utility functions for SCIM API interactions with automatic pagination support
- Includes comprehensive test coverage and documentation for all new data sources
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
github/provider.go |
Registers the four new SCIM data sources in the provider |
github/util_enterprise_scim.go |
Implements shared SCIM utilities including pagination, request building, and data flattening functions |
github/data_source_github_enterprise_scim_groups.go |
Data source for listing all SCIM groups with filtering and pagination support |
github/data_source_github_enterprise_scim_group.go |
Data source for retrieving a single SCIM group by ID |
github/data_source_github_enterprise_scim_users.go |
Data source for listing all SCIM users with filtering and pagination support |
github/data_source_github_enterprise_scim_user.go |
Data source for retrieving a single SCIM user by ID |
github/data_source_github_enterprise_scim_groups_test.go |
Unit tests for groups listing with multi-page pagination |
github/data_source_github_enterprise_scim_group_test.go |
Unit tests for individual group retrieval |
github/data_source_github_enterprise_scim_users_test.go |
Unit tests for users listing with filtering and pagination |
github/data_source_github_enterprise_scim_user_test.go |
Unit tests for individual user retrieval |
website/docs/d/enterprise_scim_groups.html.markdown |
Documentation for the SCIM groups listing data source |
website/docs/d/enterprise_scim_group.html.markdown |
Documentation for the single SCIM group data source |
website/docs/d/enterprise_scim_users.html.markdown |
Documentation for the SCIM users listing data source |
website/docs/d/enterprise_scim_user.html.markdown |
Documentation for the single SCIM user data source |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
e64c25b to
615a000
Compare
c2d1b94 to
ebf28a4
Compare
f785b45 to
5c4e52b
Compare
5ff4c77 to
b5c9eb3
Compare
b7d8d51 to
074c322
Compare
|
Commit history reorganized 🔄 Hi @deiga, I've reorganized the commit history as requested. The changes are now split into logical, granular commits:
Each commit is self-contained and can be reviewed independently. Going forward, I'll create new commits for any review feedback instead of amending. |
Add util_enterprise_scim.go with helper functions for flattening SCIM user and group data from the GitHub API.
Retrieve information about a single SCIM group by ID. Includes: - Data source implementation - Acceptance tests - Documentation
List all SCIM groups in an enterprise with optional filtering. Includes: - Data source implementation - Acceptance tests - Documentation
Retrieve information about a single SCIM user by ID. Includes: - Data source implementation - Acceptance tests - Documentation
List all SCIM users in an enterprise with optional filtering. Includes: - Data source implementation - Acceptance tests - Documentation
- Register 4 data sources in provider.go: - github_enterprise_scim_group - github_enterprise_scim_groups - github_enterprise_scim_user - github_enterprise_scim_users
Update import paths from go-github/v81 to go-github/v82 to match the current version in upstream/main.
074c322 to
0dea7bc
Compare
New data sources:
github_enterprise_scim_groups— GET /scim/v2/enterprises/{enterprise}/Groups (auto-paginates to fetch all results)github_enterprise_scim_group— GET /scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}github_enterprise_scim_users— GET /scim/v2/enterprises/{enterprise}/Users (auto-paginates to fetch all results)github_enterprise_scim_user— GET /scim/v2/enterprises/{enterprise}/Users/{scim_user_id}Shared helper/types in
util_enterprise_scim.go:results_per_page,fetch-allby default)Before the change?
After the change?
Pull request checklist
Does this introduce a breaking change?
Please see our docs on breaking changes to help!