GitHub Classroom / GitHub Actions Autograding,如何通过邮件给予正面反馈?

Chr*_*ies 6 github github-actions github-classroom

我们正在试验和评估 GitHub Classroom 和 GitHub Actions 的“自动评分”。

在我们的作业中,如果单元测试通过,学生会得到分数。所以 autograding.json 运行起来比较简单mvn test -Dtest=testClass#testmethod

在默认设置中,我对以下几点不满意:

  • 如果构建(即测试)失败,GitHub (Actions) 会向您发送邮件,但如果测试成功,您将不会收到邮件。如果学生在通过自动评分(即单元测试)时得到反馈,那就太好了。如何才能做到这一点?

  • GitHub (Actions) 不会在邮件中提供任何详细信息,您必须访问操作页面。如果您能提供点数以及对错误的一些单行解释,那就更好了。如何才能做到这一点?

为了说明我想要什么:如果 JSON 允许指定成功时的反馈消息和失败时的反馈消息并且GitHub Action 邮件应包含此文本(如果不可能,则应该有一个格式良好的显示此文本的网页)。不幸的是,我没有找到有关 JSON 的任何文档。是否有 autograde.json 的任何文档?

我也对其他选择感兴趣。

以下是我们目前使用的 autograde.json 的示例:

{
  "tests": [
    {
      "name": "Unit Tests - Testing your Application: DoubleVector - BasicFunctionality",
      "setup": "",
      "run": "mvn -q -B -Dtest=DoubleVectorFromArrayTest#testBasicFunctionality test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 0.5
    },
    {
      "name": "Unit Tests - Testing your Application: DoubleVector - Accuracy",
      "setup": "",
      "run": "mvn -q -B -Dtest=DoubleVectorFromArrayTest#testAccuracy test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 0.5
    },
    {
      "name": "Unit Tests - Testing your Application: QuadraticEuation",
      "setup": "",
      "run": "mvn -q -B -Dtest=QuadraticEuationFromCoefficientsTest test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 1
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

sct*_*thi 1

GHA 不提供这样的现成功能。相反,您需要自己实现它,或者使用市场上的现有操作。 是一个示例,它允许您通过 smpt 发送电子邮件。(注意:我自己没有使用链接的操作,但希望它能起作用)。