Save setup time with GitHub Classroom and Probot
Use Probot with GitHub Apps to save time in the classroom by automating tasks.
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.
What is Probot?
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.
How it works
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.yml
file to your starter repository. Since we want to turn off issues on students’ assignment repositories, we check in a file that looks like this:
repository:
has_issues: false
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 power ups
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.
Want to make your own Probot app? Check out the Probot docs to learn how to build an app with Probot or deploy your app with free hosting on Glitch.
Ready to start?
Check out all the apps you can install. If you want more help or inspiration—or want to contribute to the project, join the Probot community with office hours, a Slack workspace, and discussions.
Learn more about GitHub Classroom
Written by
Related posts
Boost your CLI skills with GitHub Copilot
Want to know how to take your terminal skills to the next level? Whether you’re starting out, or looking for more advanced commands, GitHub Copilot can help us explain and suggest the commands we are looking for.
Beginner’s guide to GitHub: Setting up and securing your profile
As part of the GitHub for Beginners guide, learn how to improve the security of your profile and create a profile README. This will let you give your GitHub account a little more personality.
Beginner’s guide to GitHub: Merging a pull request
As part of the GitHub for Beginners guide, learn how to merge pull requests. This will enable you to resolve conflicts when they arise.