Table: github_organization_collaborator - Query GitHub Organization Collaborators using SQL
GitHub Organization Collaborators are users who have been granted access to contribute to a repository within an organization. Collaborators can be given different levels of access, from read-only to full admin rights. The status of their invitation, whether it's pending acceptance or has been accepted, is also tracked.
Table Usage Guide
The github_organization_collaborator
table provides insights into the collaborators associated with GitHub repository within an organization. As a repository manager, you can use this table to explore details about collaborators, including their permissions and the status of their invitations. This can be particularly useful for managing access control and ensuring the appropriate level of access is granted to each collaborator.
Important Notes
- You must specify the
organization
column in thewhere
orjoin
clause to query the table.
Examples
List all contributors of an organization
Determine the areas in which various users have permissions within a specific project. This is useful for project managers who need to understand the roles and access levels of different contributors to better manage project resources and responsibilities.
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot';
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot';
List all outside collaborators on a repository
Determine the areas in which outside collaborators have access within a specific repository. This is useful for ensuring appropriate access levels and identifying potential security risks.
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot' and affiliation = 'OUTSIDE';
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot' and affiliation = 'OUTSIDE';
List all collaborators with admins role
Identify instances where users have administrative access in a specific GitHub repository. This could be useful in managing access control and ensuring the right people have the appropriate permissions.
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot' and permission = 'ADMIN';
select user_login, permissionfrom github_organization_collaboratorwhere organization = 'turbot' and permission = 'ADMIN';
Schema for github_organization_collaborator
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
affiliation | text | = | Affiliation filter - valid values 'ALL' (default), 'OUTSIDE', 'DIRECT'. |
login_id | text | =, !=, ~~, ~~*, !~~, !~~* | Unique identifier for the user login. |
organization | text | = | The organization the member is associated with. |
permission | text | The permission the collaborator has on the repository. | |
repository_name | text | The name of the repository | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
user_login | jsonb | The login details of the collaborator. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- github
You can pass the configuration to the command with the --config
argument:
steampipe_export_github --config '<your_config>' github_organization_collaborator