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.
Maturity: Prototype (stage 3 of 5)
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
- Read the CSV file with student IDs and group information.
- Group IDs by group name (if no group name/partner, group size = 1).
- Create a repository for each group. The name can be composed of an internship identifier and a group name/UUID/number/etc.
- Assign maintainer rights for the corresponding repository to each person in the group.
- Verify that all repositories have been successfully created and the rights are correctly assigned.
- 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.
- Prepare repository/template/content as needed
- Configure tooling, permissions, and integrations
- 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.