Skip to content

Conversation

@HavenDV
Copy link
Owner

@HavenDV HavenDV commented Sep 17, 2025

Summary by CodeRabbit

  • New Features

    • Enterprise team management and membership APIs.
    • Copilot code review repository rule support.
  • Refactor

    • User-owned Projects v2 endpoints now use username (old user_id paths removed).
    • Renamed organization custom-properties operations to a new naming convention.
    • Made artifact_url and some repository fields nullable where appropriate.
  • Documentation

    • Added examples for enterprise teams, users, and Projects v2 item content.
    • Expanded external references for new enterprise team endpoints.

@coderabbitai
Copy link

coderabbitai bot commented Sep 17, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Expanded and restructured OpenAPI spec in src/libs/GitHub/openapi.yaml: added enterprise team and team-membership endpoints, migrated user ProjectsV2 paths from user_id to username, renamed org custom-properties operationIds, introduced Copilot repository-rule schema, added new schemas/examples, adjusted nullable fields, and updated references/documentation.

Changes

Cohort / File(s) Summary
Enterprise teams and memberships
src/libs/GitHub/openapi.yaml
Added enterprise team CRUD and membership endpoints (list, bulk add/remove, per-user), new path parameters (enterprise-team, team_slug, username), new tag, externalDocs, and enterprise-team schema.
ProjectsV2 username migration
src/libs/GitHub/openapi.yaml
Replaced /users/{user_id}/projectsV2... with /users/{username}/projectsV2... endpoints (projects, fields, items, item CRUD). Removed user_id variants. Added examples for item content variants.
Orgs custom-properties renames
src/libs/GitHub/openapi.yaml
Renamed operationIds for orgs custom-properties to new naming convention.
Copilot repository rule integration
src/libs/GitHub/openapi.yaml
Added repository-rule-copilot-code-review schema and referenced it from repository-rule.
Models, examples, and nullability
src/libs/GitHub/openapi.yaml
Added examples (enterprise-teams-items, simple-user-items, simple-user). Made artifact_url and repository fields nullable in relevant schemas. Updated/expanded project item content examples.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Admin as Enterprise Admin
  participant API as GitHub API
  participant Dir as Directory/IdP

  Admin->>API: POST /enterprises/{enterprise}/teams (create)
  API-->>Admin: 201 Team (id, slug, urls)
  note over API: Enterprise team resource created

  Admin->>API: POST /enterprises/{enterprise}/teams/{team_slug}/memberships/add
  API->>Dir: (optional) Sync/validate members
  Dir-->>API: Member statuses
  API-->>Admin: 200 Bulk add result

  Admin->>API: GET /enterprises/{enterprise}/teams/{team_slug}/memberships
  API-->>Admin: 200 Members list

  Admin->>API: DELETE /enterprises/{enterprise}/teams/{team_slug}
  API-->>Admin: 204 No Content
  note right of API: Team deleted
Loading
sequenceDiagram
  autonumber
  actor User as User
  participant API as GitHub API
  participant Proj as ProjectsV2

  User->>API: GET /users/{username}/projectsV2/{project_number}
  API->>Proj: Fetch project
  Proj-->>API: Project data
  API-->>User: 200 Project

  User->>API: POST /users/{username}/projectsV2/{project_number}/items
  API->>Proj: Create item
  Proj-->>API: Item (id, content refs)
  API-->>User: 201 Item

  User->>API: PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}
  API->>Proj: Update fields/content
  Proj-->>API: Updated item
  API-->>User: 200 Item
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Poem

I hop through specs where endpoints bloom,
New teams emerge, memberships zoom.
From user_id to names we tread,
ProjectsV2 now neatly read.
Copilot rules hum, examples gleam—
Carrots for schemas, a tidy dream. 🥕✨

✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bot/update-openapi_202509170609

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cfd662e and 3615c5a.

⛔ Files ignored due to path filters (82)
  • src/libs/GitHub/Generated/GitHub..JsonSerializerContext.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsAdd.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsBulkAdd.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsBulkRemove.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsGet.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsList.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsRemove.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamMembershipsClient.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamsClient.EnterpriseTeamsCreate.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamsClient.EnterpriseTeamsDelete.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamsClient.EnterpriseTeamsGet.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamsClient.EnterpriseTeamsList.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.EnterpriseTeamsClient.EnterpriseTeamsUpdate.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.GitHubClient.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsAdd.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsBulkAdd.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsBulkRemove.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsGet.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsList.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.EnterpriseTeamMembershipsRemove.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamMembershipsClient.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamsClient.EnterpriseTeamsCreate.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamsClient.EnterpriseTeamsDelete.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamsClient.EnterpriseTeamsGet.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamsClient.EnterpriseTeamsList.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IEnterpriseTeamsClient.EnterpriseTeamsUpdate.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IGitHubClient.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IOrgsClient.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IOrgsClient.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinitions.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IOrgsClient.OrgsCustomPropertiesForReposDeleteOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IOrgsClient.OrgsCustomPropertiesForReposGetOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IOrgsClient.OrgsCustomPropertiesForReposGetOrganizationDefinitions.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsAddItemForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsDeleteItemForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsGetFieldForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsGetForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsGetUserItem.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsListFieldsForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsListItemsForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.IProjectsClient.ProjectsUpdateItemForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.EnterpriseTeamsCreateRequestSyncToOrganizations.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.EnterpriseTeamsCreateRequestSyncToOrganizationsNullable.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.EnterpriseTeamsUpdateRequestSyncToOrganizations.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.EnterpriseTeamsUpdateRequestSyncToOrganizationsNullable.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.RepositoryRule.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.RepositoryRuleCopilotCodeReviewType.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.RepositoryRuleCopilotCodeReviewTypeNullable.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonConverters.RepositoryRuleDetailed.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.JsonSerializerContextTypes.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeam.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamMembershipsBulkAddRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamMembershipsBulkAddRequest.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamMembershipsBulkRemoveRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamMembershipsBulkRemoveRequest.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsCreateRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsCreateRequest.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsCreateRequestSyncToOrganizations.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsUpdateRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsUpdateRequest.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.EnterpriseTeamsUpdateRequestSyncToOrganizations.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinitionsRequest.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinitionsRequest.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRule.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleCopilotCodeReview.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleCopilotCodeReview.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleCopilotCodeReviewParameters.Json.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleCopilotCodeReviewParameters.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleCopilotCodeReviewType.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.Models.RepositoryRuleDetailed.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.OrgsClient.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.OrgsClient.OrgsCustomPropertiesForReposCreateOrUpdateOrganizationDefinitions.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.OrgsClient.OrgsCustomPropertiesForReposDeleteOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.OrgsClient.OrgsCustomPropertiesForReposGetOrganizationDefinition.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.OrgsClient.OrgsCustomPropertiesForReposGetOrganizationDefinitions.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsAddItemForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsDeleteItemForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsGetFieldForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsGetForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsGetUserItem.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsListFieldsForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsListItemsForUser.g.cs is excluded by !**/generated/**
  • src/libs/GitHub/Generated/GitHub.ProjectsClient.ProjectsUpdateItemForUser.g.cs is excluded by !**/generated/**
📒 Files selected for processing (1)
  • src/libs/GitHub/openapi.yaml (17 hunks)

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot merged commit 59dea90 into main Sep 17, 2025
1 of 3 checks passed
@coderabbitai coderabbitai bot changed the title feat:@coderabbitai feat:Expand GitHub OpenAPI: enterprise team endpoints, ProjectsV2 username Sep 17, 2025
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