github-user-sync | G Suite user directory and GitHub org membership
kandi X-RAY | github-user-sync Summary
kandi X-RAY | github-user-sync Summary
github-user-sync is a Python library. github-user-sync has no bugs, it has no vulnerabilities, it has build file available, it has a Strong Copyleft License and it has low support. You can download it from GitHub.
Are you using G Suite as a user directory? Do you want to simplify your process for handling joiners/leavers to your organisation? Are you also using GitHub?. This project provides a script that will synchronise membership of a group on GitHub.com (premium GitHub and Enterprise Edition have other mechanisms for single sign-on that may be more suitable). It does this by having a custom attribute in your G Suite directory that corresponds to a GitHub username, and inviting those users to your GitHub org if they are not already a member. If you have any members of your group who do not have a username recorded against a corresponding user in your G Suite Directory will be removed from your organisation.
Are you using G Suite as a user directory? Do you want to simplify your process for handling joiners/leavers to your organisation? Are you also using GitHub?. This project provides a script that will synchronise membership of a group on GitHub.com (premium GitHub and Enterprise Edition have other mechanisms for single sign-on that may be more suitable). It does this by having a custom attribute in your G Suite directory that corresponds to a GitHub username, and inviting those users to your GitHub org if they are not already a member. If you have any members of your group who do not have a username recorded against a corresponding user in your G Suite Directory will be removed from your organisation.
Support
Quality
Security
License
Reuse
Support
github-user-sync has a low active ecosystem.
It has 1 star(s) with 0 fork(s). There are no watchers for this library.
It had no major release in the last 12 months.
github-user-sync has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of github-user-sync is 1.0.0
Quality
github-user-sync has no bugs reported.
Security
github-user-sync has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
github-user-sync is licensed under the GPL-3.0 License. This license is Strong Copyleft.
Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.
Reuse
github-user-sync releases are available to install and integrate.
Build file is available. You can build the component from source.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of github-user-sync
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of github-user-sync
github-user-sync Key Features
No Key Features are available at this moment for github-user-sync.
github-user-sync Examples and Code Snippets
No Code Snippets are available at this moment for github-user-sync.
Community Discussions
No Community Discussions are available at this moment for github-user-sync.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install github-user-sync
You will need to create a new field in your G Suite directory to hold the relevant GitHub usernames. Select Add a Custom Attribute (or if you have a category called External Services already, edit it). Name the Category External Services and under custom fields create a field with name GitHub username, type text, visible to admin and single value (case is important in both cases). You will need to create a service account to allow the script to read from your G Suite directory. [Follow Google’s docs to create a service account](https://support.google.com/a/answer/7378726?hl=en), and ensure that the Admin SDK is enabled. Make a note of the client ID, and download the service account credentials file in JSON form. Keep this secret. Enable the service account to read from your Directory. Go to [Manage API client access](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) and add an entry with the Client Name being the ID (long number string) of the service account, and the API scope https://www.googleapis.com/auth/admin.directory.user.readonly. Use the G Suite users panel to populate the appropriate users with their GitHub usernames. [Find out your G Suite customer ID](https://stackoverflow.com/questions/33493998/how-do-i-find-the-immutable-id-of-my-google-apps-account) and make a note of it. Create a personal API token in GitHub.com for someone who is an administrator of the org. Also keep this secret. Run the script. Configuration options are passed as environment variables.
Install this script: Classic way: python3 setup.py install Docker way: docker build -t 1500cloud/github-user-sync:latest .
You will need to create a new field in your G Suite directory to hold the relevant GitHub usernames.
Go to https://admin.google.com/u/1/ac/customschema
Select Add a Custom Attribute (or if you have a category called External Services already, edit it)
Name the Category External Services and under custom fields create a field with name GitHub username, type text, visible to admin and single value (case is important in both cases)
You will need to create a service account to allow the script to read from your G Suite directory. [Follow Google’s docs to create a service account](https://support.google.com/a/answer/7378726?hl=en), and ensure that the Admin SDK is enabled. Make a note of the client ID, and download the service account credentials file in JSON form. Keep this secret.
Enable the service account to read from your Directory. Go to [Manage API client access](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) and add an entry with the Client Name being the ID (long number string) of the service account, and the API scope https://www.googleapis.com/auth/admin.directory.user.readonly.
Use the G Suite users panel to populate the appropriate users with their GitHub usernames.
[Find out your G Suite customer ID](https://stackoverflow.com/questions/33493998/how-do-i-find-the-immutable-id-of-my-google-apps-account) and make a note of it.
Create a personal API token in GitHub.com for someone who is an administrator of the org. Also keep this secret.
Run the script. Configuration options are passed as environment variables. Classic way: ``` GOOGLE_CREDENTIALS_PATH=credentials.json \ GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ GOOGLE_CUSTOMER_ID=C12345678 \ GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ GITHUB_ORG=myorg \ sync-github-users ``` Docker way: ``` docker run -e GOOGLE_CREDENTIALS_PATH=/secrets/credentials.json \ -e GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ -e GOOGLE_CUSTOMER_ID=C12345678 \ -e GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ -e GITHUB_ORG=myorg \ --mount src=/root/secrets/user-sync/,dst=/secrets/,readonly=true,type=bind \ 1500cloud/github-user-sync:latest ``` Any changes that have been made are printed out to the terminal. As a get out clause, if the script thinks that every member who is currently in the GitHub org should be removed, it will exit without doing anything.
Install this script: Classic way: python3 setup.py install Docker way: docker build -t 1500cloud/github-user-sync:latest .
You will need to create a new field in your G Suite directory to hold the relevant GitHub usernames.
Go to https://admin.google.com/u/1/ac/customschema
Select Add a Custom Attribute (or if you have a category called External Services already, edit it)
Name the Category External Services and under custom fields create a field with name GitHub username, type text, visible to admin and single value (case is important in both cases)
You will need to create a service account to allow the script to read from your G Suite directory. [Follow Google’s docs to create a service account](https://support.google.com/a/answer/7378726?hl=en), and ensure that the Admin SDK is enabled. Make a note of the client ID, and download the service account credentials file in JSON form. Keep this secret.
Enable the service account to read from your Directory. Go to [Manage API client access](https://admin.google.com/AdminHome?chromeless=1#OGX:ManageOauthClients) and add an entry with the Client Name being the ID (long number string) of the service account, and the API scope https://www.googleapis.com/auth/admin.directory.user.readonly.
Use the G Suite users panel to populate the appropriate users with their GitHub usernames.
[Find out your G Suite customer ID](https://stackoverflow.com/questions/33493998/how-do-i-find-the-immutable-id-of-my-google-apps-account) and make a note of it.
Create a personal API token in GitHub.com for someone who is an administrator of the org. Also keep this secret.
Run the script. Configuration options are passed as environment variables. Classic way: ``` GOOGLE_CREDENTIALS_PATH=credentials.json \ GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ GOOGLE_CUSTOMER_ID=C12345678 \ GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ GITHUB_ORG=myorg \ sync-github-users ``` Docker way: ``` docker run -e GOOGLE_CREDENTIALS_PATH=/secrets/credentials.json \ -e GOOGLE_ADMINISTRATOR_ACCOUNT=administrator@example.com \ -e GOOGLE_CUSTOMER_ID=C12345678 \ -e GITHUB_ACCESS_TOKEN=ABCDEFABCEDF \ -e GITHUB_ORG=myorg \ --mount src=/root/secrets/user-sync/,dst=/secrets/,readonly=true,type=bind \ 1500cloud/github-user-sync:latest ``` Any changes that have been made are printed out to the terminal. As a get out clause, if the script thinks that every member who is currently in the GitHub org should be removed, it will exit without doing anything.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page