This situation might be familiar: Dozens or even hundreds of students are each working in their own assignment repository created by GitHub Classroom. As they work, they run into questions, so they open issues in their repositories and tag instructors or teaching assistants with questions. It’s a recipe for getting overwhelmed by issues and notifications.
What if you could turn off issues for your students’ repositories and use your README to redirect them to a central place to have discussions and get help? With Probot—a project, a framework, and a collection of free apps—you can do that and more.
Probot is a framework for making apps that automate your workflow on GitHub. It listens to events from your repositories, like the creation of new commits, comments, and issues—and automatically creates a response.
Created by the GitHub Team, Probot is an open source community project. And the community has made more than just a framework: They’ve also created dozens of apps to add automation to projects, small and large. Just to name a few, there are Probot apps to help you:
- Set reminders on issues and pull requests
- Keep track of to-do’s in your code base
- Welcome new contributors
For teachers, the Settings app is one of the most useful. It helps you configure a repository’s settings in a text file that’s checked into your repository, just like other code and configuration files. You can configure a myriad of options for your repository, from label names to turning issues on or off. It’s a great tool to structure student assignments, reflect real-world workflows, and automate your course setup.
Adding the Probot Settings app to your organization turns it on for any repository in the organization with a
.github/settings.yml file. Here’s how you set it up:
- Add the Probot Settings app to the GitHub organization you use with Classroom. Go to Settings and click + Add to GitHub. When prompted, grant access to all repositories in the organization.
- Add a
.github/settings.ymlfile to your starter repository. Since we want to turn off issues on students’ assignment repositories, we check in a file that looks like this:
You can also choose other settings, like label names or merge methods for pull requests. Check out the probot/settings README for a list of settings.
Note: Classroom automatically adds teachers and teaching assistants to repositories.
- Use the starter repository when creating your assignment in GitHub Classroom.
That’s it! Now all of your students’ assignment repositories will share the same configuration.
Probot can do more than toggling issues on or off. The GitHub Education Team has first-hand experience using Probot to help students and educators learn.
For example, with the Settings app, you can configure a predefined set of labels for your students to use as they work through an assignment. For example, the Campus Experts training course uses the Settings app and a set of module labels to track students’ progress through the course.
When you build a custom app with Probot, you can use automation specific to an assignment or course. For example, the GitHub Education Team has a Probot app that automatically creates merge conflicts in repositories to help teach Campus Advisors the art of resolving merge conflicts.