Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[API Endpoint Request] Expose classroom and assignment creation and editing endpoints for programmatic automation

Open
#90 0 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
github, go
Domain
api, cli

Research direction

Start by locating the GH Classroom extension's existing command and API entry points; the issue does not name specific files or tests. Use the proposed classroom and assignment routes as the scope, with completion meaning programmatic creation and editing plus corresponding extension commands for classrooms and assignments.

Written by the indexing model from the issue text.

Description

api-request

Every semester we have to manually create the GH classroom and all the assignments/labs within the classroom. We typically have about 6/7 assignments, 13 labs, and a group project.

Doing all of this through the GH classroom website is tedious. I'd love to see GH classroom creation for a given GH org, as well as the assignment creation/editing exposed so we can create everything programatically, and also add these commands to the GH classroom extension.
 

Proposed endpoint

A POST to /classrooms/create would create a classroom for a given GH organization with

  • GH classroom name

A POST to classroom/$clasroom_id would edit an existing classroom

A POST to classroom/$classroom_id/assignment/create would create an assignment with:

  • assignment name
  • assignment prefix
  • source repo url
  • due date
  • etc

A POST to classroom/$clasroom_id/assignment/$assignment_id would edit an existing assignment

Justification

Help with automation especially when there is a need to create many assignments in a course

Dominant language
Go
Stars
126
Forks
21
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/gh-classroom

All issues in github/gh-classroom

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.