GitHub is one of the many essential tools to developers, and through ServiceNow, we were able to centralize the onboarding process to grant access to developers to repositories. Through a catalog item, a user could select ServiceNow users and add them to a repository, with the option of also denoting an onboard and offboard date where the user would be added/removed from a repository.
The first step would be to allocate a ServiceNow user to their GitHub username. This is done through an auxiliary form seen below:
With this, we created a custom widget that will check for the entered GitHub user's existence and check if the username has already been allocated to someone in the CMDB.
After this, you will be able to access the GitHub Management Form such as below:
From the form, a user can select a repo and add users to that repo via a similar widget to the one discussed above.
The repos are populated through a scheduled job that makes an API call out to Github to retrieve the current list of GitHub Repos.
Once a user has submitted the form, the results are pushed to a custom table for audit and onboarding/offboarding functionality.
There is a scheduled job on the table that checks for users that are set to expire soon. If so, the user who onboarded those records will be sent an email notification stating that the user will be offboarded soon and will be given the option to extend that user's offboard date.