Creating internship repositories

This use case describes how lecturers can easily and efficiently create repositories for internship groups. To simplify and automate the creation of repositories for internship groups.

Idea
Plan
Prototype
Pilot
Live

Overview

Value: This use case describes how lecturers can easily and efficiently create repositories for internship groups. To simplify and automate the creation of repositories for internship groups.

Problem: The need for an efficient system to create and manage student internship repositories, in order to reduce administrative effort, avoid inconsistencies, and ensure proper access control.

Solution: To simplify and automate the creation of repositories for internship groups.

Who Benefits

Primary

  • Lecturers

Secondary

  • Students

When to Use

  • When group information is available in a CSV file and GitLab API access is configured.

When Not to Use

  • When GitLab API or Divekit integration is unavailable.
  • When group data cannot be reliably provided in structured CSV format.

Process

  1. Read the CSV file with student IDs and group information.
  2. Group IDs by group name (if no group name/partner, group size = 1).
  3. Create a repository for each group. The name can be composed of an internship identifier and a group name/UUID/number/etc.
  4. Assign maintainer rights for the corresponding repository to each person in the group.
  5. Verify that all repositories have been successfully created and the rights are correctly assigned.
  6. Inform lecturers about the successful creation of the repositories.

Requirements

People

  • Lecturers
  • Students
  • GitLab Administrators

Data Inputs

  • CSV file with student IDs and group assignments
  • Source repository for pre-filled materials
  • Course or internship identifiers

Tools & Systems

  • GitLab (git.nrw)
  • Divekit
  • GitLab API
  • GitLab CI/CD Pipeline for test repository creation

Policies & Compliance

  • GDPR
  • Institutional Access Control Policy

Risks & Mitigations

  • The repositories were not created, and the lecturers are informed about the error.

    • Notify stakeholders promptly
    • Provide manual fallback procedure

Getting Started

Prerequisites: Git access and configured tools/systems listed below.

  1. Prepare repository/template/content as needed
  2. Configure tooling, permissions, and integrations
  3. Run the workflow and review results

FAQ

How are internship repositories created automatically?

The system reads group information from a CSV file and uses GitLab API/Divekit to create repositories and assign permissions.

Can pre-filled materials be included?

Yes, source repositories or templates can be cloned into each group repository during creation.

How are permissions managed?

Each student in a group is assigned configurable permission for their respective repository.

What happens if repository creation fails?

The lecturer will be notified, and a manual fallback procedure can be used.

Glossary

Divekit
Tool for automated creation, distribution, and management of GitLab repositories.
GitLab API
Interface to programmatically interact with GitLab for repository and permission management.
CI/CD Pipeline
Automation workflow to create repositories, test configurations, or deploy content.
CSV File
Structured file containing student IDs and group assignments used for automation.
0