Extract grade reports for all my courses (bulk extract)

Is there any way to extract grade reports for all my courses, as a bulk, and have them available to download.

Some of our partners have multiple courses (more than 100) and need to download the reports in bulk, to save time going around into multiple instructor panels.

Do you know of any django command we can run or any other way to do this?
Does this make sense to other business models?

Thank you,
Sandro (NAU)

Not sure if this is the most desirable method, as far as I’m aware there’s no bulk gradebook download at the moment, I stand to be corrected though…

My best guess is that you probably want a python script (or similar) taking advantage of the API endpoints to gather a list of course ID’s and then for each course ID loop through them to fetch the gradebook of that course, then write the results into an excel/csv/whatever preferred.

Go to: https://lms.yourdomain.tld/api-docs/
Find in there the following endpoints that you can also test out live in the browser to demo the results
Get list of courses/ID’s: /grades/v1/courses/
Get gradebook of particular course ID: /grades/grades_v1_gradebook_read

Thank you Joel.

Indeed, we went for a small Python script to do this work.

1 Like

@sandro glad to know you found a solution. Would you be able to share your Python script in this thread and mark it as the solution, so others can learn if they have similar issues?

@sarina Sure can do.
Here are the two github gist with the scripts we created.

We tried to make sure both scripts were independent for you to do either/or actions.
We also tried to make sure both share the same params to make them easier to run.

Feel free to improve on them and share your improved versions :slight_smile:

1 Like