本文使用Repo:https://github.com/Robotxm/AutoXduNCovReport

技术支持:@Robotxm

  1. 前期准备

    • GitHub账号
    • 良好的英文阅读能力(或者google翻译用的熟)
    • 一定的程序阅读能力(不会也没关系,知道到作用域的表示范围即可)
  2. 使用说明

    前往引用栏中的Repo地址Fork当前仓库(图示右数第一个)

    image-20210307162246591

    进入到自己Fork后的仓库中

    点击Settings -> Secrets -> New repository secret,新建USERNAMEPASSWORD变量(值分别设定为自己的学号一站式密码

    对于晨午晚检/疫情通,我们需要额外创建两个secrets:

    • FUNCTIONtcheck (对于疫情通value设置为ncov)

    • CAMPUS-c S(北校区请设定为-c N疫情通请设定为空值)

      image-20210307165250901

    • *注:需要额外新建一个secret并取名为SCKEY, 如果你需要使用Serverchan,value请自行设定(要不然后面报错)

    • 点击导航栏的Actions

      1. 如果原作者的donet.yaml文件正常存在,点击进入Rerun-jobs

      image-20210307171245222

      点击Auto NCov Report

      image-20210307171305288

      点击图示右上角的Re-run jobs,等待build完成,然后就可以当一个脚本怪愉快地玩耍了

      image-20210307171554475

      1. 如果没有 .yaml 文件,需要我们自动生成:

      Suggestions中会出现**.NET的自动提示,点击Set up with this workflow’**,即可看到一个.yaml文件

      name字段可以自行设定,在on字段的作用域中,我们需要移除pushpull子作用域,并添加如下信息:

      workflow_dispatch:
      schedule:
          - cron: '0 0,4,12 * * *'

      workflow_dispatch 可以让我们手动启动workflow. 在Actions中, 点击 左侧的Auto NCov Report 然后点击右侧的Run workflow . schedule 设定在特定时间运行workflow.

      *注:GitHub使用UTC+0时区,因此如果使用GMT(UTC+8)时区,需要从我们的所需时间在减去8小时。因此,0 0,4,12 * * *表示任务将在每天的8:00 UTC + 8(0:00 UTC + 0),12:00 UTC + 8(4:00 UTC + 0)和20:00 UTC + 8 (12:00 UTC+0)时刻执行。

      接下来,在steps中,将BuildTest 的区间使用如下内容替换(如下内容表示在特定时刻立刻提交并接收通知)

      - name: Run and send notification
        run: |
          cd AutoXduNCovReport
          dotnet run -- ${{ secrets.FUNCTION }} -u ${{ secrets.USERNAME }} -p ${{ secrets.PASSWORD }} ${{ secrets.CAMPUS}} -k ${{ secrets.SCKEY }}

      保存并commit此workflow,然后我们可以尝试手动运行并检查执行结果


注意事项

该工具会在提交每日信息时使用您之前提交过的信息,因此,如果您想更改地理位置,请在该tool执行前(即您所设定的3个时间点)手动在晨午检/疫情通页面提交信息