> ## 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_EnvironmentVariable

> An environment-level GitHub Actions variable scoped to a specific deployment environment. Unlike secrets, variable values are readable.

<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 an environment-level GitHub Actions variable. These variables are scoped to a specific deployment environment and are only available to workflow jobs that reference that environment. Unlike secrets, variable values are readable via the API.

The containing environment is linked to the variable with [GH\_Contains](/opengraph/extensions/github/edges/gh_contains) and [GH\_HasVariable](/opengraph/extensions/github/edges/gh_hasvariable) edges. Workflow steps that reference the variable by name receive [GH\_UsesVariable](/opengraph/extensions/github/edges/gh_usesvariable) edges when their job targets the same environment.

## 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. |
| `environment_name`            | `string`   | The name of the environment (GitHub organization).                                                      |
| `deployment_environment_name` | `string`   | The name of the deployment environment (GitHub organization).                                           |
| `value`                       | `string`   | The plaintext value of the variable.                                                                    |
| `created_at`                  | `datetime` | When the variable was created.                                                                          |
| `updated_at`                  | `datetime` | When the variable was last updated.                                                                     |
| `repository_name`             | `string`   | The name of the containing repository.                                                                  |
| `repository_id`               | `string`   | The id of the containing repository.                                                                    |
| `deployment_environmentid`    | `string`   | The deployment environmentid value.                                                                     |

## Diagram

```mermaid theme={null}
graph LR
    n0["GH_Environment"]
    n1["GH_EnvironmentVariable"]
    n2["GH_WorkflowJob"]
    n3["GH_WorkflowStep"]
    n0 -.->|GH_Contains| n1
    n0 -->|GH_HasVariable| n1
    n2 -.->|GH_UsesVariable| n1
    n3 -.->|GH_UsesVariable| 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_Environment["GH_Environment"]
    GH_EnvironmentVariable["GH_EnvironmentVariable"]
    GH_WorkflowJob["GH_WorkflowJob"]
    GH_WorkflowStep["GH_WorkflowStep"]
    GH_Environment -- GH_Contains --> GH_EnvironmentVariable
    GH_Environment -- GH_HasVariable --> GH_EnvironmentVariable
    GH_WorkflowJob -- GH_UsesVariable --> GH_EnvironmentVariable
    GH_WorkflowStep -- GH_UsesVariable --> GH_EnvironmentVariable
```

### Inbound Edges

| Edge Type                                                              | Source Node Types                                                                                                                            | Traversable |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| [GH\_Contains](/opengraph/extensions/github/edges/gh_contains)         | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment)                                                                         | ❌           |
| [GH\_HasVariable](/opengraph/extensions/github/edges/gh_hasvariable)   | [GH\_Environment](/opengraph/extensions/github/nodes/gh_environment)                                                                         | ✅           |
| [GH\_UsesVariable](/opengraph/extensions/github/edges/gh_usesvariable) | [GH\_WorkflowJob](/opengraph/extensions/github/nodes/gh_workflowjob), [GH\_WorkflowStep](/opengraph/extensions/github/nodes/gh_workflowstep) | ❌           |

### Outbound Edges

No outbound edges are defined by the GitHub extension for this node.

## Properties

| Property                      | Type               | Description                                                   |
| ----------------------------- | ------------------ | ------------------------------------------------------------- |
| `name`                        | `str`              | -                                                             |
| `displayname`                 | `str`              | -                                                             |
| `environmentid`               | `str`              | -                                                             |
| `last_seen`                   | `datetime`         | -                                                             |
| `node_id`                     | `str`              | -                                                             |
| `environment_name`            | `str`              | The name of the environment (GitHub organization).            |
| `deployment_environment_name` | `str`              | The name of the deployment environment (GitHub organization). |
| `value`                       | `str`              | The plaintext value of the variable.                          |
| `created_at`                  | `datetime \| None` | When the variable was created.                                |
| `updated_at`                  | `datetime \| None` | When the variable was last updated.                           |
| `repository_name`             | `str`              | The name of the containing repository.                        |
| `repository_id`               | `str`              | The id of the containing repository.                          |
| `deployment_environmentid`    | `str \| None`      | -                                                             |
