Script to automatically score problem sets submitted via GitHub Classroom and update scores on Canvas. Checks the Travis Build status for each problem set; if the build passes, it is considered complete.
-
Create a file
github.tokenthat contains your GitHub OAuth token (as the file contents). -
Create a file
canvas.keythat contains your Canvas API Key (as the file contents). -
Create a spreadsheet file
students.csvthat contains two columns:uwnetidandgithubcontaining students UWNetIDs and GitHub usernames respectively. Include a header row withuwnetidandgithubas values. -
Fill in the course and assignment information in the
course.jsonfile. Canvas IDs can be found in the URL for individual assignments.Each assignment should have a
repo_slugthat is the prefix given to individual repos by GitHub classroom. You can include an optionalbranchproperty if the submitted solution isn't on themasterbranch. -
Install package dependencies.
npm install
You can run the script with node:
node app.jsThe script accepts the following command line arguments:
-p repo_slugwill only score assignments incourse.jsonthat contain the given repo slug (repo_slug). This lets you only score a single assignment at a time.