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.