GitHub Classroom creates a repository that belongs for each student or team that accepts an assignment. The repository belongs to the organization that you use for GitHub Classroom. Assignment repositories can be empty, or you can use a template repository. For more information, see "Create an assignment from a template repository."
You may want to predefine the default settings for the assignment repositories that GitHub Classroom creates from a template repository. For example, you may want to disable issues, define labels for pull requests, or protect a branch in some or all of the repositories.
With the Probot Settings app, you can create a file named .github/settings.yml in a repository that contains a list of settings for the repository, and then install a GitHub App for your organization that automatically applies the settings to the repository.
You can include .github/settings.yml in a template repository that you use for an assignment in GitHub Classroom. When an individual or team accepts the assignment, GitHub Classroom creates the assignment repository, and the Settings app automatically applies the settings from .github/settings.yml.
Probot is a a project, framework, and collection of free apps to automate GitHub. A Probot app can listen to repository events, like the creation of new commits, comments, and issues, and automatically respond to the event.
After you install the Probot Settings app for your organization, the app will apply the settings that you define in .github/settings.yml for any repository in your organization, including new assignment repositories that GitHub Classroom creates.
- Navigate to the Settings app page.
- Click Install, then click the organization that you use for GitHub Classroom. Provide the app full access to all repositories owned by the organization.
Create a template repository that contains a .github/settings.yml file. For a complete list of settings, see the README for the
probot/settingsrepository. For more information about using a template repository for starter code in GitHub Classroom, see "Create an assignment from a template repository."
Warning: Do not define
collaboratorsin the .github/settings.yml file for your template repository. GitHub Classroom automatically grants teachers and teaching assistants access to assignment repositories.
The Probot Settings app for your organization will now apply the settings you define in .github/settings.yml within the template repository to every assignment repository that You may want to predefine the default settings for the assignment repositories that GitHub Classroom creates from a template repository. For example, you may want to disable issues, define labels for pull requests, or protect a branch in some or all of the repositories. creates for a student or team.