feat: Add GitHub App Enterprise perm scope#4343
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4343 +/- ##
=======================================
Coverage 97.50% 97.50%
=======================================
Files 193 193
Lines 19451 19481 +30
=======================================
+ Hits 18965 18995 +30
Misses 269 269
Partials 217 217 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @gmlewis 👋 I did register for an individual CLA triggering an the new contributor update does not seem to proceed 🙏 |
| Deployments *string `json:"deployments,omitempty"` | ||
| Discussions *string `json:"discussions,omitempty"` | ||
| Emails *string `json:"emails,omitempty"` | ||
| EnterpriseAIControls *string `json:"enterprise_ai_controls,omitempty"` |
There was a problem hiding this comment.
Linter fails at:
"EnterpriseAIControls" to "EnterpriseAiControls"
Artificial Intelligence (AI) is universally capitalized.
There was a problem hiding this comment.
To fix it, add "AI": true, to the list of initialisms
go-github/tools/structfield/structfield.go
Line 412 in 7a388ca
Keep the list sorted.
…rgInstallationRepos
gmlewis
left a comment
There was a problem hiding this comment.
Thank you, @eroullit!
LGTM.
cc: @alexandear
This pull request adds support for several new enterprise-related permission fields to the
InstallationPermissionsstruct, along with corresponding accessor methods and unit tests. These changes enhance the codebase to handle a wider range of GitHub App installation permissions, particularly for enterprise features.Creating a installation token yields this output when enterprise-scope permissions are used:
{ "token": "ghs_etcetc", "expires_at": "2026-06-30T14:28:23Z", "permissions": { "enterprise_ai_controls": "read", "enterprise_copilot_metrics": "read", "enterprise_credentials": "read", "enterprise_custom_enterprise_roles": "read", "enterprise_custom_org_roles": "read", "enterprise_custom_properties": "read", "enterprise_custom_properties_for_organizations": "read", "enterprise_organizations": "write", "enterprise_organization_installations": "read", "enterprise_organization_installation_repositories": "read", "enterprise_people": "read", "enterprise_sso": "read", "enterprise_teams": "read" }, "repository_selection": "selected" }Previously, these information were omitted when
go-githubis in used.Enterprise permissions support:
InstallationPermissionsstruct for various enterprise-related permissions, such asEnterpriseAIControls,EnterpriseCopilotMetrics,EnterpriseCredentials, and others. (github/apps.go)github/github-accessors.go)Testing:
github/github-accessors_test.go)