Administrative infrastructure for the UHH Particle Detector & Machine Learning GitHub organization.
This repository contains automation and configuration for managing the GitHub organization. The goal is to keep organization administration reproducible, auditable, and under version control.
The repository currently provides an automated workflow that synchronizes the everyone team with the organization's membership.
Whenever the workflow runs, it
- retrieves all members of the
uhh-pd-mlGitHub organization, - retrieves all members of the
everyoneteam, - adds organization members that are missing from the team, and
- removes users from the team if they are no longer members of the organization.
This allows repository permissions to be granted to the everyone team instead of maintaining access lists manually.
The workflow authenticates using a GitHub App rather than a personal access token.
Required repository configuration:
| Name | Description |
|---|---|
APP_ID |
Numeric GitHub App ID |
| Name | Description |
|---|---|
APP_PRIVATE_KEY |
Private key (PEM format) of the GitHub App |
The workflow creates a short-lived installation token at runtime using the GitHub App and uses this token to interact with the GitHub API.
The workflow runs on a daily schedule.
From the GitHub web interface:
- Open the Actions tab.
- Select Sync everyone team.
- Click Run workflow.
This is useful after adding or removing organization members.
The GitHub App should be installed on the uhh-pd-ml organization and granted permissions sufficient to
- read organization members,
- read team membership,
- modify team membership.
The app only needs access to this repository.