Adds a script to create and manage GitHub teams based on a YAML config file. Supports parent-child team relationships and a `--dry-run` mode to preview changes without applying them. Also creates an initial configuration for `community-plugins` teams. This replaces the earlier proof-of-concept from backstage/community-plugins#3946 with a functional implementation using the GitHub API. Signed-off-by: Beth Griggs <bethanyngriggs@gmail.com> |
||
|---|---|---|
| .. | ||
| TEAMS | ||
| .gitignore | ||
| README.md | ||
| package.json | ||
| team-sync.js | ||
| yarn.lock | ||
README.md
Backstage GitHub Team Sync
A script to sync GitHub teams and their members based on a YAML config file.
📦 Requirements
- Node.js v18+
- A GitHub personal access token (set as
GITHUB_TOKENenv var)
🚀 Usage
node team-sync --config path/to/teams.yaml
Optional dry-run mode:
node team-sync.js --config path/to/teams.yaml --dry-run
🛠️ Example Config (teams.yaml)
teams:
- name: community-plugins-$plugin
description: Maintainers of $plugin
parent: community-plugins-owners
members:
- GitHubUserA
- GitHubUserB