Classroom automation with Renku + Gitlab

Are you looking to enhance your digital classroom experience? Then we share your passion for technology and its role in teaching. However, we know that managing digital classrooms requires extra effort, including repetitive tasks related to groups, projects, and permissions. Learn how to address these challenges with our RenkuLab classroom automation toolkit! Read on to see what these automations - powered by the GitLab API - can do for you.

Reach out to us with your ideas and feedback!

:lock: Create private student groups for assignments

Do your students need to work in small groups for an assignment? Then create private student groups while keeping owner access. Automating this process ensures the correct configuration of project visibility and permission settings across all groups. Read more

:envelope: Invite students to the class group

Do you find it convenient to group all class materials and students’ repositories under a single GitLab group? Then, use the Gitlab API to automatically send an email invitation for this group to each student. In our example, we simply need to provide a text file (such as a CSV exported from Moodle) with student email addresses. Read more

:card_index_dividers: Gather all student forks of a project

Do you keep track of students’ forks with their assignments? Then streamline this process using GitLab to keep track of the fork tree. Our example gathers metadata for all group-owned forks of a project to a JSON file, including student group name and a Renkulab autostart link to start an interactive session directly in students’ fork.

Do you need to consider only students’ work before the deadline? Then specify a deadline and the Renkulab autostart link will start a session from the latest commit before the deadline. The metadata JSON extracted in this example allows further automation. Check out the two tasks described below. Read more

:floppy_disk: Clone all students’ projects

Do you run students’ projects locally? No problem, we show how to automatically clone all student projects contained in the JSON metadata file with project links. We explain how to generate such JSON files in the section “Gather all forks of a project”. Read more

:loudspeaker: Use issues to send feedback

Do you comment and grade each student group? Then, why not use Gitlab issues to send group-specific feedback. In our example, we provide comments and grades in a CSV file (which can be filled simultaneously by teaching assistants and professors during evaluation). We then automatically open issues with evaluations in each fork listed in the JSON metadata file. Check the “Gather all forks of a project” section to learn about fork metadata extraction to JSON. Read more