Points de terminaison d’API REST pour GitHub Classroom
Utilisez l’API REST pour interagir avec GitHub Classroom.
Get an assignment
Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
Jetons d’accès affinés pour « Get an assignment »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « Get an assignment »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
assignment_id integer ObligatoireThe unique identifier of the classroom assignment. |
Codes d’état de la réponse HTTP pour « Get an assignment »
Code d’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « Get an assignment »
Exemple de requête
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
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.
Jetons d’accès affinés pour « List accepted assignments for an assignment »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « List accepted assignments for an assignment »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
assignment_id integer ObligatoireThe unique identifier of the classroom assignment. |
Nom, Type, Description |
---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List accepted assignments for an assignment »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List accepted assignments for an assignment »
Exemple de requête
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
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.
Jetons d’accès affinés pour « Get assignment grades »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « Get assignment grades »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
assignment_id integer ObligatoireThe unique identifier of the classroom assignment. |
Codes d’état de la réponse HTTP pour « Get assignment grades »
Code d’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « Get assignment grades »
Exemple de requête
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
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.
Jetons d’accès affinés pour « List classrooms »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « List classrooms »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List classrooms »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List classrooms »
Exemple de requête
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
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.
Jetons d’accès affinés pour « Get a classroom »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « Get a classroom »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
classroom_id integer ObligatoireThe unique identifier of the classroom. |
Codes d’état de la réponse HTTP pour « Get a classroom »
Code d’état | Description |
---|---|
200 | OK |
404 | Resource not found |
Exemples de code pour « Get a classroom »
Exemple de requête
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
Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom.
Jetons d’accès affinés pour « List assignments for a classroom »
Ce point de terminaison fonctionne avec les types de jetons précis suivants:
Le jeton précis ne nécessite aucune autorisation.
Ce point de terminaison peut être utilisé sans authentification ou si seules les ressources publiques sont demandées.
Paramètres pour « List assignments for a classroom »
Nom, Type, Description |
---|
accept string Setting to |
Nom, Type, Description |
---|
classroom_id integer ObligatoireThe unique identifier of the classroom. |
Nom, Type, Description |
---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
Codes d’état de la réponse HTTP pour « List assignments for a classroom »
Code d’état | Description |
---|---|
200 | OK |
Exemples de code pour « List assignments for a classroom »
Exemple de requête
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"
}
}