Skip to content

TeamSettings schema missing include/exclude repo filter declarations #1011

Description

@ipowellBT

Prerequisites:

  • Is the functionality available in the GitHub UI? If so, please provide a link to information about the feature.

    N/A — this request is for schema validation and documentation of an existing safe-settings feature, not a new GitHub API capability.

  • Is the functionality available through the GitHub API? If the functionality is available, please provide links to the API documentation (https://developer.github.com/v3/) as well as the Octokit documentation (https://octokit.github.io/).

    N/A — include/exclude repo filtering is internal safe-settings logic (the Diffable class), not a GitHub API concept. The filtering already works at runtime for teams entries; it is simply not declared in the schema or covered in the documentation.

New Feature

The teams section of a safe-settings configuration already supports include and exclude repo filters at runtime via the same Diffable logic used by collaborators. However, unlike collaborators, these keys are not declared in the TeamSettings JSON schema and are not documented in the teams guide.

This means:

  • Editors and linters that validate configuration files against the schema report include/exclude as unknown properties on team entries, even though they are valid and functional.
  • There is no official documentation or example showing users how to use per-repo filtering for teams.

Please describe the desired new functionality:

  1. The TeamSettings definition in schema/repos.json, schema/settings.json, and schema/suborgs.json (and their dereferenced counterparts) should declare include and exclude using the same allOf pattern already used by CollaboratorSettings, so that editors and schema validators accept these fields without warnings.

  2. The teams guide should document include and exclude with descriptions and YAML examples consistent with the collaborators guide.

  3. The sample settings file should include representative team entries demonstrating both include and exclude.

  4. Unit tests should cover the include/exclude filter code path for the Teams plugin, mirroring the coverage that exists for Collaborators.

No changes to runtime logic are required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions