title | description |
---|---|
How to request new GitHub user access or repository creation |
The process for inviting new user to contribute to BC Gov GitHub Repositories. |
BC Gov project teams have their Open Source project on the GitHub bcgov
organization repositories.
A new user who will be invited to contribute to the BC Gov GitHub repos must have:
- a GitHub account (ideally with a complete profile)
- 2-factor authentication enabled on their GitHub account
If the project has a GitHub repository/repositories already:
- the Admin/Owner of the repository can invite new users as
Collaborators
- the new users do not need to join the organization. The repository Admin/Owner can add collaborators via the "Add Collaborator" function in the repository's "Settings" area. No further requests are necessary.
If a new repository is needed:
- the technical lead must request access to the
bcgov
GitHub organization, if they are not a member already. - the rest of the project team can then be invited by the repository owner as collaborators.
If a new private repository is needed (Note: private repos should be temporary only as the expectation is for their contents to eventually become Open Source):
- the product owner is required to communicate with the Enterprise DevOps branch leadership to discuss the appropriateness of a private repo.
- if a private repository is agreed upon, please follow the
GitHub Repo Request
instructions below. - for new users, please follow the
Access Request
instructions below.
Note that the platform services team will be review and remove GitHub Org access for users that are not active for six months. Once the access has been removed, a new Access Request
has to be made by the product owner to re-establish access.
All members of the public bcgov
organization are able to create their own repositories, no request required. If the team does not have any users who are members of the bcgov
org, a member must be added, and then they can create the necessary repository.
For a private repo (with approval) in the bcgov-c
organization, the product owner or technical lead should make a request by creating an issue in the DevOps Request Repo.
The request should include:
- Project name
- Project description
- Approver's name (and @ the person's GitHub account)
- GitHub ID of the repo Owner (following the
Access Request
) - Rational for develop as close sourced (for private repo only)
- Date to move to public (for private repo only)
A sample "good" request is provided below and should be used as a reference for submitting requests:
GitHub Repository Request:
- Project: Govvapp-private
- Project description: the temporary repo for the Govvapp project, for bla
- Approver: @Todd.Wilson
- Repo Owner GitHub ID: govviemcgovster
If the pre-requisites are complete, the product owner should make a request by creating an issue in the DevOps Request Repo. New users may not request access for themselves.
The request should include:
- Project name
- GitHub organization
- New user's full name
- New user's GitHub ID
- New user's email address associated with the GitHub account
- New user's organization (gov ministry plus division,branch,etc.) or company
- New user's role on the project (e.g. Developer, QA, DevOps specialist, Scrum Master)
- GitHub repositories if exist
- Expiry (optional) - it is the team's responsibility to remove users from the repo when they no longer require it.
A sample "good" request is provided below and should be used as a reference for submitting requests:
GitHub User Access Request:
- Project: Govvapp
- GitHub Org: bcgov
- Full name: Govvie McGovster
- GitHub ID: govviemcgovster
- Email address: [email protected]
- Organization: OCIO, Service BC
- Project role: Full-stack Developer
- Existing GitHub Repo: https://github.com/bcgov/govvie-gov, https://github.com/bcgov/govviest-gov
When an individual is no longer working on the project, it is the responsibility of the associated product owner or a GitHub repo admin to remove the user from the repo and request their removal from the organization (if appropriate) by creating an issue in the DevOps Request Repo.
The request should include:
- User's full name
- User's GitHub ID
- GitHub Repositories
A sample "good" request is provided below and should be used as a reference for submitting requests:
GitHub User Access Removal Request:
- Full name: Govvie McGovster
- GitHub ID: govviemcgovster
- GitHub Repo: https://github.com/bcgov/govvie-gov, https://github.com/bcgov/govviest-gov