Table: github_search_issue - Query GitHub Issues using SQL
GitHub Issues is a feature of GitHub, a web-based hosting service for version control, that allows users to track and manage tasks, enhancements, and bugs for projects. It provides a platform for collaboration, enabling developers to work together on projects from anywhere. GitHub Issues helps users stay informed about the progress and performance of their projects, and take appropriate actions when required.
Table Usage Guide
The github_search_issue
table provides insights into issues within GitHub repositories. As a project manager or developer, explore issue-specific details through this table, including status, assignees, labels, and associated metadata. Utilize it to uncover information about issues, such as those that are open, the assignees working on them, and the labels attached to them.
Important Notes
- You must always include at least one search term when searching source code in the where or join clause using the
query
column. You can narrow the results using these search qualifiers in any combination. See Searching issues and pull requests for details on the GitHub query syntax.
Examples
List issues by the title, body, or comments
Discover the segments that contain issues based on their title, body or comments. This can be beneficial for understanding and managing the issues more effectively.
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'github_search_commit in:title in:body';
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'github_search_commit in:title in:body';
List issues in open state assigned to a specific user
This query allows you to identify open issues assigned to a specific user within a particular GitHub repository. This is useful for monitoring a user's workload or tracking the progress of issue resolution.
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:open assignee:c0d3r-arnab repo:turbot/steampipe-plugin-github';
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:open assignee:c0d3r-arnab repo:turbot/steampipe-plugin-github';
List issues with public visibility assigned to a specific user
Discover the segments that include public issues assigned to a specific user on GitHub. This can be useful to monitor the work of a specific developer or track public issues in a particular repository.
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:public assignee:c0d3r-arnab repo:turbot/steampipe-plugin-github';
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:public assignee:c0d3r-arnab repo:turbot/steampipe-plugin-github';
List issues not linked to a pull request
Determine the areas in which active issues exist that are not linked to any pull request in the GitHub repository for the Steampipe plugin. This is useful to identify potential tasks that may need attention or further investigation.
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:open -linked:pr repo:turbot/steampipe-plugin-github';
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'is:open -linked:pr repo:turbot/steampipe-plugin-github';
List blocked issues
Identify instances where issues have been blocked in the 'turbot/steampipe-plugin-github' repository. This can help in understanding project bottlenecks and prioritizing tasks.
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'label:blocked repo:turbot/steampipe-plugin-github';
select title, id, state, created_at, urlfrom github_search_issuewhere query = 'label:blocked repo:turbot/steampipe-plugin-github';
List issues with over 10 comments
Identify instances where GitHub issues in the Turbot organization have garnered more than 10 comments. This is useful for tracking popular discussions and understanding the issues that are generating significant community engagement.
select title, id, comments_total_count, state, created_at, urlfrom github_search_issuewhere query = 'org:turbot comments:>10';
select title, id, comments_total_count, state, created_at, urlfrom github_search_issuewhere query = 'org:turbot comments:>10';
List issues that took more than 30 days to close
Discover the segments that took over a month to resolve within a specific organization. This allows for an analysis of efficiency in issue resolution and can highlight areas for improvement in the workflow process.
select title, id, state, created_at, closed_at, urlfrom github_search_issuewhere query = 'org:turbot state:closed' and closed_at > (created_at + interval '30' day);
select title, id, state, created_at, closed_at, urlfrom github_search_issuewhere query = 'org:turbot state:closed' and closed_at > datetime(created_at, '+30 day');
Schema for github_search_issue
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
active_lock_reason | text | Reason that the conversation was locked. | |
assignees | jsonb | A list of Users assigned to the issue. | |
assignees_total_count | bigint | Count of assignees on the issue. | |
author | jsonb | The actor who authored the issue. | |
author_association | text | Author's association with the subject of the issue. | |
author_login | text | The login of the issue author. | |
body | text | Identifies the body of the issue. | |
body_url | text | URL for this issue body. | |
closed | boolean | If true, issue is closed. | |
closed_at | timestamp with time zone | Timestamp when issue was closed. | |
comments_total_count | bigint | Count of comments on the issue. | |
created_at | timestamp with time zone | Timestamp when issue was created. | |
created_via_email | boolean | If true, issue was created via email. | |
editor | jsonb | The actor who edited the issue. | |
full_database_id | bigint | Identifies the primary key from the database as a BigInt. | |
id | bigint | The ID of the issue. | |
includes_created_edit | boolean | If true, issue was edited and includes an edit with the creation data. | |
is_pinned | boolean | if true, this issue is currently pinned to the repository issues list. | |
is_read_by_user | boolean | if true, this issue has been read by the user. | |
labels | jsonb | A map of labels for the issue. | |
labels_src | jsonb | The first 100 labels associated to the issue. | |
labels_total_count | bigint | Count of labels on the issue. | |
last_edited_at | timestamp with time zone | Timestamp when issue was last edited. | |
locked | boolean | If true, issue is locked. | |
login_id | text | =, !=, ~~, ~~*, !~~, !~~* | Unique identifier for the user login. |
milestone | jsonb | The milestone associated with the issue. | |
node_id | text | The node ID of the issue. | |
number | bigint | The issue number. | |
published_at | timestamp with time zone | Timestamp when issue was published. | |
query | text | = | The query provided for the search. |
repository_full_name | text | The full name of the repository (login/repo-name). | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
state | text | The state of the issue. | |
state_reason | text | The reason for the issue state. | |
text_matches | jsonb | The text match details. | |
title | text | The title of the issue. | |
updated_at | timestamp with time zone | Timestamp when issue was last updated. | |
url | text | URL for the issue. | |
user_can_close | boolean | If true, user can close the issue. | |
user_can_react | boolean | If true, user can react on the issue. | |
user_can_reopen | boolean | If true, user can reopen the issue. | |
user_can_subscribe | boolean | If true, user can subscribe to the issue. | |
user_can_update | boolean | If true, user can update the issue, | |
user_cannot_update_reasons | jsonb | A list of reason why user cannot update the issue. | |
user_did_author | boolean | If true, user authored the issue. | |
user_subscription | text | Subscription state of the user to the issue. |
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_search_issue