github / github/gh-classroom

[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
api-request
Dominant language
Go
Stars
125
Forks
21
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.