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.
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.