For modern apps using GitHub Apps instead of PATs or OAuth tokens,
this makes sure that the Uncontrolled Organization method can still
be used to retrieve other GitHub organizations that are not managed
by the apps for purposes such as pulling org details and basics.
To support newer scenarios that are Microsoft-specific for automating
some types of team membership, this adds new extension points to
evaluate team join request conditions sooner in the middleware and
pipeline.
Also augments the JSON for client APIs about the team(s) to allow
inserting company-specific configuration or state into those responses.
Updates the Microsoft Graph client to allow for configurable
cache options at call time. Also in some methods such as getting
the members of a team, improves types, allows for direct or
transitive membership.
There are rare cases where an interrupted TS build can leave
some files missing for the configuration to bootstrap. This
improves the error message in that case.
- Removes CENTRAL_OPERATIONS_TOKEN
- System teams - open access
- adds open access concept, which is a broad access team anyone in the org can join without approval
- open access teams are not recommended the same way as broad access teams during new repo setup
- TypeScript: prefer types to interfaces
- GitHub Apps and REST APIs:
- Simplifying bound function calls
- Relocated app and token management files
- Improves types for header/tokens
- Allow custom app purposes to retrieve app token instances
- Custom app purpose debug display fix
- PAT/app token type identification helper method
- Collections now expose "collectAllPages" and "collectAllPagesViaHttpGet" to move specific code out of the file
- Fix for custom apps initialized after startup
- Custom Properties Beta support
Retrieves the list of Copilot basics when the organization
has Copilot for Business attachments.
Do note that this API only works to page, slowly, at scale to
a point - after 400 pages I am not able to get results due to
a hard cap of sorts here, so need to rely on other methods to
get the info.