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:
-
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.
-
The teams guide should document include and exclude with descriptions and YAML examples consistent with the collaborators guide.
-
The sample settings file should include representative team entries demonstrating both include and exclude.
-
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.
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/excluderepo filtering is internal safe-settings logic (theDiffableclass), not a GitHub API concept. The filtering already works at runtime forteamsentries; it is simply not declared in the schema or covered in the documentation.New Feature
The
teamssection of a safe-settings configuration already supportsincludeandexcluderepo filters at runtime via the sameDiffablelogic used bycollaborators. However, unlikecollaborators, these keys are not declared in theTeamSettingsJSON schema and are not documented in the teams guide.This means:
include/excludeas unknown properties on team entries, even though they are valid and functional.Please describe the desired new functionality:
The
TeamSettingsdefinition inschema/repos.json,schema/settings.json, andschema/suborgs.json(and their dereferenced counterparts) should declareincludeandexcludeusing the sameallOfpattern already used byCollaboratorSettings, so that editors and schema validators accept these fields without warnings.The teams guide should document
includeandexcludewith descriptions and YAML examples consistent with the collaborators guide.The sample settings file should include representative team entries demonstrating both
includeandexclude.Unit tests should cover the include/exclude filter code path for the
Teamsplugin, mirroring the coverage that exists forCollaborators.No changes to runtime logic are required.