其是根据 Github Classroom 里同学们的提交记录,结合 github pages 来生成一个排行网站,可以查看当前每一个作业的完成情况,搜索到自己和其他学生的排名,方便大家更快的了解到课堂的整体进度,提高同学们的参与度,督促自己的成长和进步。
注意在 fork 时,需要将下面的 Owner 设置为 classroom 所在的组织下。
由于 action 在部署执行过程中会获取作业的最新数据,而更新的方式需要调用 Github API 和 classroom 的相关接口,因此需要配置以下两个变量获取访问接口的权限。
a. 首先获取组织中任意 Owner 成员的 Personal access tokens (详细参考)
b. 回到项目 setting 中, 把上一步获取的 Personal access tokens 配置给 action 的环境变量 AUTH_TOKEN
该变量的值是取登录到 classroom.github.com 网站中的 cookie._github_classroom_session 字段
因为项目的 action 中有一个执行定时任务的 workflow, 需要手动开启。 该任务每小时会刷新一次排行榜数据。
项目的 setting 中进行 pages 设置
在 spider 文件夹下 src/config/index.ts
的相关配置
export const organiztion: string = 'os-autograding'; // 组织
export const fullOrganization: string = '113154735-os-autograding-classroom-a857a2'; // classroom名称
export const assignment = 'oskernel'; // assignment
export const works = ['default', 'main']; // assignment 的不同情况 对应latest.json中的
eg: fullOrganization 要进入 github classroom 后从url 获取