Skip to main content

2 posts tagged with "github"

View All Tags

GitHub Provider Update - April 2026

ยท 3 min read
Technologist and Cloud Consultant

We've released an update to the StackQL GitHub provider adding new services and expanding coverage across several existing ones.

New Servicesโ€‹

Some of the newly added services of note include:

agent_tasksโ€‹

The agent_tasks service exposes GitHub's AI agent task API, allowing you to query and manage agent task runs within a repository. Resources include:

ResourceDescription
agent_tasksList, get, and manage agent task runs scoped to a repository
agent_task_stepsRetrieve individual step-level detail for an agent task run
agent_task_labelsManage labels assigned to agent tasks

This covers the audit and observability side of AI agent operations in GitHub - useful for tracking what agent tasks have run, their status, and step-level output.

campaignsโ€‹

The campaigns service covers GitHub's security campaign management, part of GitHub Advanced Security. Resources include:

ResourceDescription
campaignsCreate, list, get, update, and close security campaigns scoped to an organization
campaign_repositoriesList repositories participating in a campaign

Security campaigns let you coordinate remediation of code scanning or secret scanning alerts across an org. This service lets you query campaign state and participation programmatically.

classroomโ€‹

The classroom service brings GitHub Classroom into StackQL. Resources include:

ResourceDescription
classroomsList and get classrooms accessible to the authenticated user
assignmentsList and get assignments within a classroom
accepted_assignmentsQuery student-accepted assignment repositories
assignment_gradesRetrieve grade data for accepted assignments

This is useful for institutions managing GitHub Classroom at scale - querying assignment completion or generating reports across multiple classrooms.

hosted_computeโ€‹

The hosted_compute service covers GitHub's hosted compute networking resources, relevant to organizations using GitHub-hosted runners with custom network configurations. Resources include:

ResourceDescription
hosted_compute_networksManage hosted compute network configurations at the org level
hosted_compute_network_settingsQuery and update settings for a hosted compute network

This is relevant if you're using GitHub's hosted compute with Azure private networking or similar integrations.

private_registriesโ€‹

The private_registries service exposes org-level private registry configurations - credentials and settings stored in GitHub for use by Actions workflows. Resources include:

ResourceDescription
org_private_registriesList, get, create, update, and delete private registry configurations for an organization

This allows you to audit which private registries (npm, Docker Hub, Maven, etc.) are configured at the org level without going through the GitHub UI.

enterprise_teamsโ€‹

The enterprise_teams service provides enterprise-scoped team management, distinct from org-level teams. Resources include:

ResourceDescription
enterprise_teamsList and get teams at the enterprise level
enterprise_team_membersQuery membership for enterprise teams

This is useful for enterprises managing teams that span multiple organizations.

Updatesโ€‹

Notable updates to existing services include:

actionsโ€‹

New resources added to the actions service:

  • hosted_runners - query and manage GitHub-hosted runner configurations at the org or repo level
  • runner_group_network_configurations - network config details for runner groups

orgsโ€‹

  • New org_roles and org_role_assignments resources for querying custom org role definitions and their assignments

reposโ€‹

  • New repo_rules_suites resource for querying rule suite evaluation history (useful for auditing branch protection rule evaluations)

Get Startedโ€‹

Pull the latest GitHub provider:

stackql registry pull github

Visit us on GitHub and let us know how you're using it.

GitHub Provider for StackQL Released

ยท 3 min read
Technologist and Cloud Consultant

The GitHub provider for StackQL is now generally available. This can be used to query resources in GitHub Cloud or GitHub Enterprise, including orgs, teams, users, repositories, branches, pull requests, issues, workflows/actions and much more!

See available providersโ€‹

You can see the versions of GitHub Provider (and other providers) available using:

stackql registry list

or from the StackQL Command Shell (stackql shell) using:

REGISTRY LIST;

this would return a list of all the providers that are currently available, for example:

+----------+---------+
| provider | version |
+----------+---------+
| github | v0.1.0 |
| google | v0.1.0 |
| okta | v0.1.0 |
+----------+---------+

Pull the github providerโ€‹

To pull v0.1.0 of the github provider use:

stackql registry pull github v0.1.0

or

REGSITRY PULL github v0.1.0;

to see what providers are installed use:

SHOW PROVIDERS;

this would return something like...

+--------+
| name |
+--------+
| github |
+--------+

Explore the github provider and query public resourcesโ€‹

The provider and public objects can be queried without authentication as shown here:

AUTH='{"github": { "type": "null_auth" }}'
stackql shell --auth="${AUTH}"

you can now enumerate services, resources, attributes and methods in the github provider using the SHOW and DESCRIBE meta commands, for instance:

show services in github from either the StackQL command shell or via stackql exec would return something like...

+----------------------------+---------------------+------------------------------------------+
| id | name | title |
+----------------------------+---------------------+------------------------------------------+
| actions_enterprises:v0.1.0 | actions_enterprises | GitHub v3 REST API - actions_enterprises |
| billing:v0.1.0 | billing | GitHub v3 REST API - billing |
| repos:v0.1.0 | repos | GitHub v3 REST API - repos |
| ... | ... | ... |
+----------------------------+---------------------+------------------------------------------+
tip

Use the EXTENDED operator with the SHOW or DESCRIBE commands to get additional information about services, resources, attributes and methods, e.g. DESCRIBE EXTENDED github.repos.repos

show resources in github.repos would return something like...

+--------------+---------------------------+
| name | id |
+--------------+---------------------------+
| branches | github.repos.branches |
| commits | github.repos.commits |
| deployments | github.repos.deployments |
| environments | github.repos.environments |
| forks | github.repos.forks |
| releases | github.repos.releases |
| repos | github.repos.repos |
| statistics | github.repos.statistics |
| statuses | github.repos.statuses |
| traffic | github.repos.traffic |
| ... | ... |
+--------------+---------------------------+

to see fields in a resource (which can be queried or updated) use DESCRIBE for example DESCRIBE github.repos.commits would return something like...

+--------------+--------+
| name | type |
+--------------+--------+
| files | array |
| stats | object |
| commit | object |
| url | string |
| html_url | string |
| parents | array |
| node_id | string |
| comments_url | string |
| committer | object |
| sha | string |
| author | object |
+--------------+--------+

to see methods available in a resource use the SHOW METHODS command for example SHOW METHODS IN github.repos.commits would return something like...

+-------------------------------------------+-------------------------+
| MethodName | RequiredParams |
+-------------------------------------------+-------------------------+
| compare_commits | basehead, owner, repo |
| get_commit | owner, ref, repo |
| list_branches_for_head_commit | commit_sha, owner, repo |
| list_commits | owner, repo |
| list_pull_requests_associated_with_commit | commit_sha, owner, repo |
+-------------------------------------------+-------------------------+
tip

Methods beginning with list or get can usually be accessed via SELECT statements. For example,

SELECT github.repos.commits.sha
FROM github.repos.commits
WHERE owner='${owner}' AND repo='${repo}';

Other methods can be accessed using the EXEC command (for more information see EXEC)

Query protected resourcesโ€‹

Accessing protected resources requires authentication using a Personal Access token as shown here:

export GITHUB_CREDS=$(echo -n 'yourgithubusername:ghp_YOURPERSONALACCESSTOKEN' | base64)
AUTH='{ "github": { "type": "basic", "credentialsenvvar": "GITHUB_CREDS" } }'
stackql shell --auth="${AUTH}"

Now you are able to access protected resources, for example:

select id, name, private
from github.repos.repos
where org = 'stackql';

which would return something like...

+-----------+-------------------------+---------+
| id | name | private |
+-----------+-------------------------+---------+
| 443987542 | stackql | false |
| 441087132 | stackqlproviderregistry | false |
| 409393414 | fullstackchronicles.io | false |
| 435085734 | stackql.io | true |
| 443979486 | releases.stackql.io | true |
| 447890554 | stackqldevel | true |
| ... | ... | ... |
+-----------+-------------------------+---------+

Welcome your feedback by getting in touch or raising issues at stackql/stackql-provider-registry, โญ๏ธ us while you are there!