← 输入框|github.com|刷新
Skip to content

api | web | docs: share a github connection with many teams or all teams - #24

Merged
yekta merged 1 commit into
masterfrom
feat/share-github-connection-teams
Oct 17, 2026
Merged

yekta merged 1 commit into
masterfrom
feat/share-github-connection-teams

Conversation

@yekta

@yekta yekta commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Resolves UNB-415.

Right now a GitHub App connection belongs to one team. Every team that builds from the same GitHub account has to install its own app there, and the account owner has to approve each one. With this change, one installation per GitHub account can be shared with several teams, or with all teams. New teams can then build without another approval.

Changes

  • Schema: Replaces the single team_id on github_apps with a many-to-many teams relation (team_github_apps) and a shared_with_all_teams flag. The flag also covers teams created later. A migration moves existing team links into the new table.
  • Access: Teams can still only reach the repos the installation can reach.
  • API: The GitHub app handlers and repository read and write the team list and the all-teams flag. The generated client and mocks are updated to match.
  • Sharing picker: "Only me" and "All teams" sit together in one group, with a multi-select list of teams below. Picking "Only me" or "All teams" clears the team selection. Each team shows its icon, and selected teams get a success-colored border and tick.
  • Docs: Updates the pages on deploying from GitHub and on team members and permissions.

Testing

  • Updated and extended the GitHub handler tests (github_test.go) and the repository tests (github_app_test.go) for multi-team and all-teams sharing.

… teams

Until now a GitHub App connection belonged to a single team. Every team that built from the same GitHub account had to install its own app there.

- Replace the single team_id on github apps with a many-to-many teams relation and a shared_with_all_teams flag. The flag also covers teams created later. A migration moves existing team links into the new table.
- Repo access is still limited by what the installation can reach.
- The sharing picker now has "Only me" and "All teams" in one group and a multi-select list of teams below. Choosing "Only me" or "All teams" clears the team selection. Team icons are shown, and selected teams get a success-colored border and tick.
- Update the docs on deploying from GitHub and on team permissions.
@yekta
yekta merged commit 0bceafc into master Oct 17, 2026
8 checks passed
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.

1 participant