Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

教室

使用 REST API 与 GitHub Classroom 交互。

Get an assignment

Works with GitHub Apps

Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.

Parameters for "Get an assignment"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
assignment_id integer 必须

The unique identifier of the classroom assignment.

HTTP response status codes for "Get an assignment"

Status codeDescription
200

OK

404

Resource not found

Code samples for "Get an assignment"

get/assignments/{assignment_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/assignments/ASSIGNMENT_ID

Response

Status: 200
{ "id": "12,", "public_repo": "false,", "title": "Intro to Binaries", "type": "individual", "invite_link": "https://classroom.github.com/a/Lx7jiUgx", "invitations_enabled": "true,", "slug": "intro-to-binaries", "students_are_repo_admins": false, "feedback_pull_requests_enabled": true, "max_teams": 0, "max_members": 0, "editor": "codespaces", "accepted": 100, "submitted": 40, "passing": 10, "language": "ruby", "deadline": "2011-01-26T19:06:43Z", "stater_code_repository": { "id": 1296269, "full_name": "octocat/Hello-World", "html_url": "https://github.com/octocat/Hello-World", "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", "private": false, "default_branch": "main" }, "classroom": { "id": 1296269, "name": "Programming Elixir", "archived": "false,", "url": "https://classroom.github.com/classrooms/1-programming-elixir" } }

List accepted assignments for an assignment

Works with GitHub Apps

Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.

Parameters for "List accepted assignments for an assignment"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
assignment_id integer 必须

The unique identifier of the classroom assignment.

查询参数
名称, 类型, 说明
page integer

Page number of the results to fetch.

默认: 1

per_page integer

The number of results per page (max 100).

默认: 30

HTTP response status codes for "List accepted assignments for an assignment"

Status codeDescription
200

OK

Code samples for "List accepted assignments for an assignment"

get/assignments/{assignment_id}/accepted_assignments
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/assignments/ASSIGNMENT_ID/accepted_assignments

Response

Status: 200
{ "id": "12,", "submitted": "false,", "passing": "false,", "commit_count": 5, "grade": "5/10", "students": [ { "id": 1, "login": "octocat", "avatar_url": "https://github.com/images/error/octocat_happy.gif", "html_url": "https://github.com/octocat" } ], "repository": { "id": 1296269, "full_name": "octocat/Hello-World", "html_url": "https://github.com/octocat/Hello-World", "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5", "private": false, "default_branch": "main" }, "assignment": { "id": "12,", "public_repo": "false,", "title": "Intro to Binaries", "type": "individual", "invite_link": "https://classroom.github.com/a/Lx7jiUgx", "invitations_enabled": "true,", "slug": "intro-to-binaries", "students_are_repo_admins": false, "feedback_pull_requests_enabled": true, "max_teams": 0, "max_members": 0, "editor": "codespaces", "accepted": 100, "submitted": 40, "passing": 10, "language": "ruby", "classroom": { "id": 1296269, "name": "Programming Elixir", "archived": "false,", "url": "https://classroom.github.com/classrooms/1-programming-elixir" } } }

Get assignment grades

Works with GitHub Apps

Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.

Parameters for "Get assignment grades"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
assignment_id integer 必须

The unique identifier of the classroom assignment.

HTTP response status codes for "Get assignment grades"

Status codeDescription
200

OK

404

Resource not found

Code samples for "Get assignment grades"

get/assignments/{assignment_id}/grades
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/assignments/ASSIGNMENT_ID/grades

Response

Status: 200
[ { "assignment_name": "Introduction to Strings", "assignment_url": "https://classroom.github.com/classrooms/1337/assignments/1337", "starter_code_url": "", "github_username": "octocat", "roster_identifier": "octocat@github.com", "student_repository_name": "intro-to-strings-1337-octocat", "student_repository_url": "https://github.com/timeforschool/intro-to-strings-1337-octocat", "submission_timestamp": "2018-11-12 01:02", "points_awarded": 10, "points_available": 15, "group_name": "octocat-and-friends" }, { "assignment_name": "Introduction to Strings", "assignment_url": "https://classroom.github.com/classrooms/1337/assignments/1337", "starter_code_url": "", "github_username": "monalisa", "roster_identifier": "monalisa@github.com", "student_repository_name": "intro-to-strings-1337-monalisa", "student_repository_url": "https://github.com/timeforschool/intro-to-strings-1337-monalisa", "submission_timestamp": "2018-11-12 01:11", "points_awarded": 15, "points_available": 15, "group_name": "monalisa-and-friends" } ]

List classrooms

Works with GitHub Apps

Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms.

Parameters for "List classrooms"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

查询参数
名称, 类型, 说明
page integer

Page number of the results to fetch.

默认: 1

per_page integer

The number of results per page (max 100).

默认: 30

HTTP response status codes for "List classrooms"

Status codeDescription
200

OK

Code samples for "List classrooms"

get/classrooms
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/classrooms

Response

Status: 200
{ "id": 1296269, "name": "Programming Elixir", "archived": "false,", "url": "https://classroom.github.com/classrooms/1-programming-elixir" }

Get a classroom

Works with GitHub Apps

Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom.

Parameters for "Get a classroom"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
classroom_id integer 必须

The unique identifier of the classroom.

HTTP response status codes for "Get a classroom"

Status codeDescription
200

OK

404

Resource not found

Code samples for "Get a classroom"

get/classrooms/{classroom_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/classrooms/CLASSROOM_ID

Response

Status: 200
{ "id": 1296269, "name": "Programming Elixir", "archived": "false,", "organization": { "id": 1, "login": "programming-elixir", "node_id": "MDEyOk9yZ2FuaXphdGlvbjE=", "html_url": "https://github.com/programming-elixir", "name": "Learn how to build fault tolerant applications", "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4" }, "url": "https://classroom.github.com/classrooms/1-programming-elixir" }

List assignments for a classroom

Works with GitHub Apps

Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom.

Parameters for "List assignments for a classroom"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
classroom_id integer 必须

The unique identifier of the classroom.

查询参数
名称, 类型, 说明
page integer

Page number of the results to fetch.

默认: 1

per_page integer

The number of results per page (max 100).

默认: 30

HTTP response status codes for "List assignments for a classroom"

Status codeDescription
200

OK

Code samples for "List assignments for a classroom"

get/classrooms/{classroom_id}/assignments
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/classrooms/CLASSROOM_ID/assignments

Response

Status: 200
{ "id": "12,", "public_repo": "false,", "title": "Intro to Binaries", "type": "individual", "invite_link": "https://classroom.github.com/a/Lx7jiUgx", "invitations_enabled": "true,", "slug": "intro-to-binaries", "students_are_repo_admins": false, "feedback_pull_requests_enabled": true, "max_teams": 0, "max_members": 0, "editor": "codespaces", "accepted": 100, "submitted": 40, "passing": 10, "language": "ruby", "deadline": "2020-01-11T11:59:22Z", "classroom": { "id": 1296269, "name": "Programming Elixir", "archived": "false,", "url": "https://classroom.github.com/classrooms/1-programming-elixir" } }