⚠️ 留意:建议大家使用另一个工具 PKUAutoSubmit_online ,更容易上手。教程请参阅《PKU 出入校备案自动化(2021 版)》
学校更新了登入接口,原文写的内容无效。建议大家使用另一个工具,教程请参阅《PKU 出入校备案自动化(2021 版)》。
原文
完成教程后,你能:
- 每天自动备案
- 如果自动备案失败,接收到邮件通知提示
完成教程大约需要 15 分钟。
- 2020-12-19
- 折叠与教程无关的内容
技术上仅仅是自动化填写和提交的流程,达到提升效率的目的,风险不大。
每天自动备案两次,其中一次为冗余。举例:定时为UTC+0 02:00 和 08:00,即在格林威治时间+0 的两点软件触发,填报出入校各一次;在八点再次触发,填报出入校各一次。(因此后面那次是冗余)
作者不鼓励任何人员使用任何手段欺骗系统,也不承担后果。
北京大学自动出入校备案
前提:你需要一个 GitHub 账号。如果你没有,请注册一个,参考《一步一步教你注册GitHub账号及简单使用》,完成验证邮箱即可。
Fork、填学号密码、Commit
- 有同学反应密码带
(
会报错exit code 2
,建议改个密码。 - 密码太长似乎也会有问题,之前 16 位的密码很多报错,换到 11 位就没事了。
如果遇到问题,需要你更改一下学校账号的密码。关于如何更改密码,请参考 学校文档。
- 登陆了你的 GitHub 账号后,打开 YOUSIKI / PKUAutoSubmit,点击右上角的 fork。
-
片刻后,fork 完成,左上角为
你的用户名 / PKUAutoSubmit
。 -
点击上方导航栏的 Actions,然后点击下方的绿色图标。
-
点击 Settings - Secrets - New secrets
-
新建 secret 第一次填
USERNAME
和你的学号;第二次再新建 secret,填PASSWORD
和你登入 PKU Portal 的密码。
填写完毕后,应有两项,如图:
- 点击 Code,然后点击✏️按钮。
- 随便写点内容(e.g.
立足燕园,解放清华
),滚动到最底,点 Commit Changes。
- 点击 Actions,观察是否有 Update README.md,如果有的话,代表成功手动备案。
定期自动运行
不用你修改任何内容,程序已经会根据 .github/workflows/main.yml
中定义的 cron 自动运行。目前预设是 UTC+0 早上一点和八点(自己转换下北京时间),每天备案两次,其中一次为冗余,应该是颇安全的。
schedule:
- cron: '15 1 * * *' # cron表达式,Actions时区是UTC时间,所以上午9点要往前推8个小时
- cron: '45 8 * * *' # cron表达式,Actions时区是UTC时间,所以上午9点要往前推8个小时
除此以外,还能自定义填写内容,例如 出入校理由
、轨迹
。(有需求发邮件给我,我再写吧)
建议前两天都来看看 Actions 里有没有成功自动备案,能看到 Scheduled 字样以及绿色☑️代表预设任务成功执行:
在 Portal -> 学生出入校 -> 备案历史,能查看自动备案是否成功。
备案失败会发邮件到你 GitHub 账号邮件进行提示。
我遇到了在很久(三十天)没更改过项目后,Actions 会停,如果你发现没备案,可以查看是否被 GitHub 关停了。
参考
没做什么工作,只是合并为一个 main.py 然后改了改参数读取方式。然后写了个 Github Actions 的配置文件,每天自动执行两次。你可以 fork 本仓库然后在自己仓库的 Settings/Secrets 中设置 USERNAME 和 PASSWORD 两项,一劳永逸。如果你想使用其他填报参数,请自行修改
.github/workflows/main.yml
,参数名称参见main.py
。
本文本质上是根据 YOUSIKI 在 README
里这段的详述,并且添加了配图。
感谢 Bruuuuuuce 的备案工具,以及 YOUSIKI 整合的 GitHub Actions。