Repository Access Configuration
Who may read or write which repository depends on three things: the kind of repository, the role of the user, and where you are in the exercise timeline. The tables below spell out every combination, and the last section covers how to see who actually accessed a repository.
If you are a student looking for repository access information, see the student documentation on integrated code lifecycle setup.
The following sections explain repository types and access rights for different user roles.
Repository Types
| Repository Type | Description |
|---|---|
| Base | Repositories set up during exercise creation (template, solution, tests, auxiliary repositories) |
| Student Assignment | Student's assignment repository copied from template. Includes team assignments |
| Teaching Assistant Assignment | Assignment repository created by a Teaching Assistant for themselves |
| Instructor Assignment | Assignment repository created by editor/instructor. Not available for exam exercises |
| Student Practice | Student's practice repository (from template or assignment). Created after due date. Not available for exams |
| Teaching Assistant Practice | Practice repository created by Teaching Assistant. Not available for exams |
| Instructor Practice | Practice repository created by editor/instructor. Not available for exams |
| Instructor Exam Test Run | Test run repository for exam testing before release. Should be deleted before exam |
User Roles
| Role | Description |
|---|---|
| Student | Course student |
| Teaching Assistant | Course tutor |
| Editor | Course editor |
| Instructor | Course instructor |
Time Periods
- Before start: Before exercise/exam start date
- Working time: After start date, before due/end date
- After due: After due/end date
Read access (R) includes git fetch, git clone, git pull.
Write access (W) corresponds to git push.
Access Rights Table
| Repository Type | Role | Time Period | Access |
|---|---|---|---|
| Base | Student | all | none |
| Teaching Assistant | all | R | |
| Instructor | all | R/W | |
| Student Assignment | Student | Before start | none |
| Student | Working time | R/W | |
| Student | After due | R¹ | |
| Teaching Assistant | all | R | |
| Instructor | all | R/W | |
| Teaching Assistant Assignment | Student | all | none |
| Teaching Assistant | Before start | R | |
| Teaching Assistant | Working time | R/W | |
| Teaching Assistant | After due | R | |
| Instructor | all | R/W | |
| Instructor Assignment | Student | all | none |
| Teaching Assistant | all | R | |
| Instructor | all | R/W² | |
| Student Practice | Student | Before start | none |
| Student | Working time | none | |
| Student | After due | R/W | |
| Teaching Assistant | Before start | none | |
| Teaching Assistant | Working time | none | |
| Teaching Assistant | After due | R | |
| Instructor | Before start | none | |
| Instructor | Working time | none | |
| Instructor | After due | R/W | |
| Teaching Assistant Practice | Student | all | none |
| Teaching Assistant | Before start | none | |
| Teaching Assistant | Working time | none | |
| Teaching Assistant | After due | R/W | |
| Instructor | Before start | none | |
| Instructor | Working time | none | |
| Instructor | After due | R/W | |
| Instructor Practice | Student | all | none |
| Teaching Assistant | Before start | none | |
| Teaching Assistant | Working time | none | |
| Teaching Assistant | After due | R | |
| Instructor | Before start | none | |
| Instructor | Working time | none | |
| Instructor | After due | R/W | |
| Instructor Exam Test Run | Student | all | none |
| Teaching Assistant | all | R | |
| Instructor | all | R/W |
Notes:
-
Only valid for course exercises. Students cannot read exam exercise repositories after due date.
-
Instructors can access Instructor Assignment repository via online editor from Course Management (Edit in editor) or Course Overview (Open code editor). After due date, push only via online editor from Course Management or local Git client. Online editor from Course Overview shows locked repository.
Who Accessed a Repository
Artemis records every fetch and push to a repository, which is useful when you need to establish what a participant actually did — for example when investigating a suspected exam irregularity or a disputed submission time.
Open the repository from Course Management and click Open Access Log. Each entry shows:
| Column | Meaning |
|---|---|
| User Id | The internal id of the account that accessed the repository |
| Author | The name and email of the Artemis account, not the author on the Git commit. For an access by a build agent it names the agent and job instead |
| Action Type | Whether the access was a read (clone or fetch) or a write (push) |
| Access Type | How the user authenticated, for example over HTTPS with a token, or over SSH with a key |
| Commit Hash | The commit involved, for write accesses |
| Timestamp | When the access happened |
For a systematic check of a whole exercise rather than one repository, see Malicious Participation Analysis.