- An active GitHub account.
- The GitHub account names for all of the students.
- Create a Free organization at https://github.com/organizations/plan
- A suggested name would be a combination of the course (e.g. CPSC 3720) and the semester (Fall 2025)
- Create a team for the organization called "ITS DevSecOps"
- Leave the visibility as
Visible - Change notifications to
Disabled
- Leave the visibility as
- Set the default permissions for team members to be
Writeso students can create issues.- Go to
Settingsfor the Organization - Select
Member Privileges - Set
Base permissionstoWrite
- Go to
- Return to https://github.com/johnanvik/devops-colouring
- Click the button "Use this template" in the upper right corner to create a new copy of the repository.
- Change the owner of the repository to the newly created organization.
- Call the new repository "ITS DevSecOps Adventure"
- Leave the visibility as "Private"
- Create the repository by clicking "Create repository"
- In
Settings, underFeatures, turn onIssues(if not already done so).
- Open a terminal
- Login using the GitHub CLI
gh auth loginand follow the prompts
- Run the script
copylabels.shin thescriptsfolder- `scripts/copylabels.sh
- Example: scripts/copylabels.sh CPSC3720Fall2025 ITS-DevSecOps-Adventure
- `scripts/copylabels.sh
- Confirm that labels were created.
- Expected labels include "Batch Size", "Price", "Team 1", etc.
- Go to https://github.com/orgs/DevSecOpsAdventure/projects/2
- Click "Use this template" in the upper righthand corner.
- Select the orgranization you created as the
Owner. - Enter
ITS DevSecOps Adventureas the name of the project. - Click Use Template
- (Needs to be set to private?)
- Click
Projectsat the top of the repository page. - Click Link New Project
- Select
ITS DevSecOps Adventure - Click Submit
- Go to
Settingsof the project board (three dots on right, under the profile picture) - Set the
Default Repositoryto the newly created one. - Save changes.
- Select
Manage Accessfrom the left-side panel. - Enter "ITS DevSecOps" (the team you created) in the `Invite Collaborators' search.
- Add the team with
Writepermissions
-
Make a local clone of https://github.com/johnanvik/devops-colouring
-
Create a CSV file called
students.csvin the scripts folder -
Add the GitHub user names of all the students to the CSV file, one user name per line.
-
On a Unix command-line run the following commands:
gh auth login- Log into GitHub from the commandline
- You may need to create a fine-grained personal access token for the organization (https://docs.github.com/en/organizations/managing-programmatic-access-to-your-organization/setting-a-personal-access-token-policy-for-your-organization)
- Go to
Organizationsunder your account - Set the owner to the created organization
- Set Repository Access to "All repositories"
- Set the permissions to "Adminstrator"
- Go to
./add-users-to-team-from-list.sh students.csv <org> its-devsecops
-
Students will need to accept the invite to the team before they can be added to the project.
- Run
./add-all-students-to-project.sh <org> "ITS DevSecOps Adventure" <project-number>
- <org> is organization you created for this activity.
- <project-number> is the number appearing at the end of the URL for your project (e.g. "1")
TODO: Create a tutorial video showing how to use GitHub project (or find one?)
