> ## Documentation Index
> Fetch the complete documentation index at: https://bloodhound.specterops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GH_OrgRunnerGroup

> An organization-scoped GitHub self-hosted runner group that controls runner access and visibility

<img noZoom src="https://mintcdn.com/specterops/tTIczgde9H07oLXf/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=tTIczgde9H07oLXf&q=85&s=ad49a576589f4d2a8081df77d07fdf56" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## General Information

Represents a self-hosted runner group visible within a GitHub organization. Organization runner groups may either be native to the organization or inherited from an enterprise runner group.

Native organization runner groups contain [GH\_OrgRunner](/opengraph/extensions/github/nodes/gh_orgrunner) nodes directly. Direct memberships also emit [GH\_HasRunner](/opengraph/extensions/github/edges/gh_hasrunner) to represent the traversable capability hop from the group to its runners. Inherited organization runner groups do not directly contain organization runners; instead, they link to the source [GH\_EnterpriseRunnerGroup](/opengraph/extensions/github/nodes/gh_enterpriserunnergroup) through [GH\_InheritedFrom](/opengraph/extensions/github/edges/gh_inheritedfrom) and gain access to the enterprise runners contained there. [GH\_IsEligibleFor](/opengraph/extensions/github/edges/gh_iseligiblefor) edges from repositories describe repository access policy scope, while [GH\_CanUseRunner](/opengraph/extensions/github/edges/gh_canuserunner) edges identify repositories and branches that can dispatch workflows to the group under the collected Actions and workflow-restriction settings.

## Properties

| Property                     | Type       | Description                                                                                             |
| ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------- |
| `name`                       | `string`   | The node name used for matching and display.                                                            |
| `displayname`                | `string`   | The human-readable display name.                                                                        |
| `environmentid`              | `string`   | The identifier of the GitHub environment where this node was collected.                                 |
| `last_seen`                  | `datetime` | The timestamp when this node was last observed during collection.                                       |
| `node_id`                    | `string`   | The stable identifier used as the OpenGraph node ID; this is the native GitHub node ID where available. |
| `scope`                      | `string`   | Whether the runner group is enterprise or organization scoped.                                          |
| `group_id`                   | `integer`  | The GitHub runner group ID.                                                                             |
| `group_name`                 | `string`   | The runner group display name.                                                                          |
| `visibility`                 | `string`   | Which repositories can use this group: `all`, `private`, or `selected`.                                 |
| `default`                    | `boolean`  | Whether this is the default runner group.                                                               |
| `inherited`                  | `boolean`  | Whether this runner group is inherited.                                                                 |
| `allows_public_repositories` | `boolean`  | Whether public repositories may use this group.                                                         |
| `restricted_to_workflows`    | `boolean`  | Whether access is restricted to selected workflows.                                                     |
| `selected_workflows`         | `string`   | JSON array of selected workflows, if configured.                                                        |
| `runners_url`                | `string`   | API URL for runners in this group.                                                                      |
| `selected_organizations_url` | `string`   | API URL for organizations assigned to an enterprise group.                                              |
| `environment_name`           | `string`   | The name of the environment (GitHub organization or enterprise).                                        |
| `query_runners`              | `string`   | Query for runners.                                                                                      |
| `query_organizations`        | `string`   | Query for organizations inheriting an enterprise runner group.                                          |
| `query_repositories`         | `string`   | Query for repositories.                                                                                 |

## Diagram

```mermaid theme={null}
graph LR
    n0["GH_Branch"]
    n1["GH_OrgRunnerGroup"]
    n2["GH_OrgRole"]
    n3["GH_EnterpriseRunnerGroup"]
    n4["GH_OrgRunner"]
    n5["GH_Organization"]
    n6["GH_Repository"]
    n0 -->|GH_CanUseRunner| n1
    n2 -->|GH_CanCreateRepositoryWithRunnerAccess| n1
    n1 -->|GH_InheritedFrom| n3
    n1 -.->|GH_Contains| n4
    n1 -->|GH_HasRunner| n4
    n5 -.->|GH_Contains| n1
    n6 -->|GH_CanUseRunner| n1
    n6 -.->|GH_IsEligibleFor| n1
```

## Edges

<Note>
  The tables below list edges defined by the GitHub extension only. Additional edges to or from this node may be created by other extensions.
</Note>

```mermaid theme={null}
flowchart LR

    GH_Branch["GH_Branch"]
    GH_EnterpriseRunnerGroup["GH_EnterpriseRunnerGroup"]
    GH_Organization["GH_Organization"]
    GH_OrgRole["GH_OrgRole"]
    GH_OrgRunner["GH_OrgRunner"]
    GH_OrgRunnerGroup["GH_OrgRunnerGroup"]
    GH_Repository["GH_Repository"]
    GH_Branch -- GH_CanUseRunner --> GH_OrgRunnerGroup
    GH_Organization -- GH_Contains --> GH_OrgRunnerGroup
    GH_OrgRole -- GH_CanCreateRepositoryWithRunnerAccess --> GH_OrgRunnerGroup
    GH_OrgRunnerGroup -- GH_Contains --> GH_OrgRunner
    GH_OrgRunnerGroup -- GH_HasRunner --> GH_OrgRunner
    GH_OrgRunnerGroup -- GH_InheritedFrom --> GH_EnterpriseRunnerGroup
    GH_Repository -- GH_CanUseRunner --> GH_OrgRunnerGroup
    GH_Repository -- GH_IsEligibleFor --> GH_OrgRunnerGroup
```

### Inbound Edges

| Edge Type                                                                                                            | Source Node Types                                                                                                              | Traversable |
| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| [GH\_CanCreateRepositoryWithRunnerAccess](/opengraph/extensions/github/edges/gh_cancreaterepositorywithrunneraccess) | [GH\_OrgRole](/opengraph/extensions/github/nodes/gh_orgrole)                                                                   | ✅           |
| [GH\_CanUseRunner](/opengraph/extensions/github/edges/gh_canuserunner)                                               | [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch), [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository) | ✅           |
| [GH\_Contains](/opengraph/extensions/github/edges/gh_contains)                                                       | [GH\_Organization](/opengraph/extensions/github/nodes/gh_organization)                                                         | ❌           |
| [GH\_IsEligibleFor](/opengraph/extensions/github/edges/gh_iseligiblefor)                                             | [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository)                                                             | ❌           |

### Outbound Edges

| Edge Type                                                                | Destination Node Types                                                                   | Traversable |
| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | ----------- |
| [GH\_Contains](/opengraph/extensions/github/edges/gh_contains)           | [GH\_OrgRunner](/opengraph/extensions/github/nodes/gh_orgrunner)                         | ❌           |
| [GH\_HasRunner](/opengraph/extensions/github/edges/gh_hasrunner)         | [GH\_OrgRunner](/opengraph/extensions/github/nodes/gh_orgrunner)                         | ✅           |
| [GH\_InheritedFrom](/opengraph/extensions/github/edges/gh_inheritedfrom) | [GH\_EnterpriseRunnerGroup](/opengraph/extensions/github/nodes/gh_enterpriserunnergroup) | ✅           |

## Properties

| Property                     | Type           | Description                                                             |
| ---------------------------- | -------------- | ----------------------------------------------------------------------- |
| `name`                       | `str`          | -                                                                       |
| `displayname`                | `str`          | -                                                                       |
| `environmentid`              | `str`          | -                                                                       |
| `last_seen`                  | `datetime`     | -                                                                       |
| `node_id`                    | `str`          | -                                                                       |
| `scope`                      | `str \| None`  | Whether the runner group is enterprise or organization scoped.          |
| `group_id`                   | `int \| None`  | The GitHub runner group ID.                                             |
| `group_name`                 | `str \| None`  | The runner group display name.                                          |
| `visibility`                 | `str \| None`  | Which repositories can use this group: `all`, `private`, or `selected`. |
| `default`                    | `bool \| None` | Whether this is the default runner group.                               |
| `inherited`                  | `bool \| None` | Whether this runner group is inherited.                                 |
| `allows_public_repositories` | `bool \| None` | Whether public repositories may use this group.                         |
| `restricted_to_workflows`    | `bool \| None` | Whether access is restricted to selected workflows.                     |
| `selected_workflows`         | `str \| None`  | JSON array of selected workflows, if configured.                        |
| `runners_url`                | `str \| None`  | API URL for runners in this group.                                      |
| `selected_organizations_url` | `str \| None`  | API URL for organizations assigned to an enterprise group.              |
| `environment_name`           | `str \| None`  | The name of the environment (GitHub organization or enterprise).        |
| `query_runners`              | `str \| None`  | Query for runners.                                                      |
| `query_organizations`        | `str \| None`  | Query for organizations inheriting an enterprise runner group.          |
| `query_repositories`         | `str \| None`  | Query for repositories.                                                 |
