GitHub Classroom setup

Connect your school’s GitHub organization

Codington creates a private repository for each student from a GitHub template, gives the student access, and displays the result of GitHub Actions checks for students and teachers.

Open Admin settings

Workflow

From assignment template to visible checks

1

Connect the organization

A school admin connects the school’s GitHub organization from Codington Admin settings.

2

Publish an assignment

A teacher chooses a public GitHub template repository when configuring the assignment.

3

Create the student repository

Codington creates a private, school-owned repository from the template and invites the student.

4

Run checks and review

The student pushes code, GitHub Actions runs the starter tests, and Codington reads the result.

Requirements

Before you start

  • A GitHub organization owned or approved by the school.
  • A GitHub organization owner who can approve and install Codington Classroom.
  • A Codington school administrator who can open Admin settings.
  • A public GitHub starter repository marked as a template, with tests and a GitHub Actions workflow committed to it.

The public starter can belong to a teacher’s personal GitHub account or another organization. Student repositories are created inside the connected school organization and are private.

Installation

Install Codington Classroom

  1. 1Open Admin → Settings → Integrations in Codington.
  2. 2Select Install Codington Classroom.
  3. 3Choose the school’s GitHub organization. Either all repositories or selected repositories works; selected access is the narrower option.
  4. 4Review the permissions and select Install.
  5. 5If GitHub shows Request instead, send the request to the organization owners. After an owner approves it, return to Codington and install again.
  6. 6Codington asks you to authorize your GitHub identity so it can verify that the installation is available to the school.

Organizations

Change where new repositories are created

A school can keep more than one GitHub organization connected. In Admin settings, connect another organization and select which one Codington should use for new assignments.

Codington does not move existing repositories when the default changes. Once the first student repository has been created for an assignment, that assignment remains connected to the same organization for the rest of the class.

Keep the GitHub App installed in an old organization while its assignments are still active. This allows Codington to read repositories and receive GitHub Actions updates from both the old and new organizations.

The administrator’s GitHub identity is used only while verifying that they can access the selected installation. Codington then works through the organization’s GitHub App installation, not that person’s access token. If the original administrator leaves, the connection remains active until an organization owner suspends or uninstalls the app.

Security

What the GitHub App can access

Repository administration — read and writeCreate assignment repositories and manage student collaborator access.
Actions — readShow whether assignment checks are running, passing, or failing.
Code and metadata — readIdentify repositories, branches, commits, starter workflows, and push activity.
Organization members — readWork with GitHub identities and organization-owned repositories.

Selected repositories is sufficient for public starter templates: GitHub automatically gives the app access to repositories it creates. Private starter repositories must be included in the installation’s selected repositories. Read GitHub’s installation guidance.

Assignments

Prepare the starter and assignment

Starter repository

Make the repository a GitHub template. Commit the starting application, tests, and a workflow under .github/workflows. Keep the starter public when it is hosted outside the connected organization.

Student access

Each student connects their own GitHub account in Codington. Starting the assignment creates one private repository in the school organization and adds that student as a collaborator.

Checks and review

After a push, GitHub Actions runs the tests. Codington shows repository detected, checks running, and checks passed or failed, with a link back to GitHub when investigation is needed.

Help

Common setup questions

Codington says “Waiting for approval”

A GitHub organization owner must approve and install the app. Codington records that the request was sent, but GitHub does not provide a live approval status. After approval, return to Admin settings and run the installation again.

GitHub only grants selected repositories

That is supported. Codington can use a selected-repositories installation because GitHub automatically grants the app access to repositories that the app creates. If you later use a private starter repository, add that starter to the installation’s selected repositories.

The student cannot access the repository

The student must connect their personal GitHub account in Codington. If GitHub sends a repository invitation, the student must accept it before pushing code.

No checks appear

Confirm that the starter contains a workflow under .github/workflows and that GitHub Actions is enabled in the school organization. Codington reports the workflow result; GitHub runs the checks.

Ready to connect a test organization?

Use a school or test organization where an owner can install the app. Rehearse the complete teacher and student workflow before using it for a graded assignment.

Open Admin settings