In order for gu:who to run against a GitHub organisation, the organisation
must have a repository named people
. As an example, here's the
people
repo in the gu-who-demo-org:
https://github.com/gu-who-demo-org/people
Effectively, this repository will act as the datastore for gu:who:
- It contains the
users.txt
file, listing all the valid members of the organisation by username, as manually added by senior staff. - The GitHub Issues for that project are created by gu:who itself - it's where gu:who reports the list of problem users it's found.
Creating the people
repository is something you need to do manually-
gu:who won't do it for you, and the reason for that is that ideally it
should be a private GitHub repository, given that it will contain
sensitive information. However, the format of the repository is pretty
simple, so it's not hard to setup:
- Create a new (private) repo (https://github.com/new) - you may as well use GitHub's option to initialize this repository with a README.
- Create a file called
users.txt
at the top-level of the repo's file hierarchy, just like this one: https://github.com/gu-who-demo-org/people/blob/master/users.txt
That's enough to get gu:who running. Note that gu:who
will raise
issues against users in your organisation who don't have an entry in
the users.txt
file - they should get their line-manager, or even just
a more-senior colleague, to create a pull-request to add their GitHub
username to this file. This is better than just adding usernames in bulk
(ie without vetting them first), because the person who adds that username
to that file is responsible for that person being in the organisation-
and we can see who that is just by using git blame