11 KiB
Variable Reference
Complete reference for all environment variables generated by the GitHub Slug Action.
Tip
All slug and slug-url variables are also available in case-sensitive (
_CS) variants. See Case-sensitive variants.
Summary
| Variable | Type | Description |
|---|---|---|
GITHUB_REF_POINT |
Enhanced | Branch or tag name (consistent across event types) |
GITHUB_REPOSITORY_OWNER_PART |
Partial | Owner extracted from GITHUB_REPOSITORY |
GITHUB_REPOSITORY_NAME_PART |
Partial | Repository name extracted from GITHUB_REPOSITORY |
GITHUB_REPOSITORY_SLUG |
Slug | Slugified owner/repository name |
GITHUB_REPOSITORY_OWNER_PART_SLUG |
Slug | Slugified owner name |
GITHUB_REPOSITORY_NAME_PART_SLUG |
Slug | Slugified repository name |
GITHUB_REF_SLUG |
Slug | Slugified branch or tag ref |
GITHUB_REF_NAME_SLUG |
Slug | Slugified branch or tag name |
GITHUB_HEAD_REF_SLUG |
Slug | Slugified PR head branch |
GITHUB_BASE_REF_SLUG |
Slug | Slugified PR base branch |
GITHUB_EVENT_REF_SLUG |
Slug | Slugified webhook ref |
GITHUB_REPOSITORY_SLUG_URL |
Slug URL | URL-safe owner/repository name |
GITHUB_REPOSITORY_OWNER_PART_SLUG_URL |
Slug URL | URL-safe owner name |
GITHUB_REPOSITORY_NAME_PART_SLUG_URL |
Slug URL | URL-safe repository name |
GITHUB_REF_SLUG_URL |
Slug URL | URL-safe branch or tag ref |
GITHUB_REF_NAME_SLUG_URL |
Slug URL | URL-safe branch or tag name |
GITHUB_HEAD_REF_SLUG_URL |
Slug URL | URL-safe PR head branch |
GITHUB_BASE_REF_SLUG_URL |
Slug URL | URL-safe PR base branch |
GITHUB_EVENT_REF_SLUG_URL |
Slug URL | URL-safe webhook ref |
GITHUB_SHA_SHORT |
Short | Shortened commit SHA |
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA_SHORT |
Short | Shortened PR head commit SHA |
Enhanced Variables
GITHUB_REF_POINT
The reference name (branch or tag), consistent across all event types:
- Uses
GITHUB_HEAD_REFinpull_request*event contexts - Uses
GITHUB_REF_NAMEin all other event contexts
This provides a stable branch name regardless of event type. On pull request events, GITHUB_REF_NAME contains <PR#>/merge, while GITHUB_REF_POINT contains the actual branch name.
Available with all slug suffixes: GITHUB_REF_POINT_SLUG, GITHUB_REF_POINT_SLUG_URL, GITHUB_REF_POINT_SLUG_CS, GITHUB_REF_POINT_SLUG_URL_CS.
Partial Variables
GITHUB_REPOSITORY_OWNER_PART
Owner part of the environment variable GITHUB_REPOSITORY.
| GITHUB_REPOSITORY | GITHUB_REPOSITORY_OWNER_PART |
|---|---|
| octocat/Hello-World | octocat |
| rlespinasse/Hello-World.go | rlespinasse |
| AnotherPerson/SomeRepository | AnotherPerson |
GITHUB_REPOSITORY_NAME_PART
Repository name part of the environment variable GITHUB_REPOSITORY.
| GITHUB_REPOSITORY | GITHUB_REPOSITORY_NAME_PART |
|---|---|
| octocat/Hello-World | Hello-World |
| rlespinasse/Hello-World.go | Hello-World.go |
| AnotherPerson/SomeRepository | SomeRepository |
Slug Variables
Slug variables apply the SLUG transformation: lowercase, replace special characters with -, preserve . and _, truncate to max length.
GITHUB_REPOSITORY_SLUG
Slug of GITHUB_REPOSITORY -- the owner and repository name.
| GITHUB_REPOSITORY | GITHUB_REPOSITORY_SLUG |
|---|---|
| octocat/Hello-World | octocat-hello-world |
| rlespinasse/Hello-World.go | rlespinasse-hello-world.go |
| AnotherPerson/SomeRepository | anotherperson-somerepository |
GITHUB_REPOSITORY_OWNER_PART_SLUG
Slug of GITHUB_REPOSITORY_OWNER_PART -- the owner name.
| GITHUB_REPOSITORY_OWNER_PART | GITHUB_REPOSITORY_OWNER_PART_SLUG |
|---|---|
| octocat | octocat |
| rlespinasse | rlespinasse |
| AnotherPerson | anotherperson |
GITHUB_REPOSITORY_NAME_PART_SLUG
Slug of GITHUB_REPOSITORY_NAME_PART -- the repository name.
| GITHUB_REPOSITORY_NAME_PART | GITHUB_REPOSITORY_NAME_PART_SLUG |
|---|---|
| Hello-World | hello-world |
| Hello-World.go | hello-world.go |
| SomeRepository | somerepository |
GITHUB_REF_SLUG
Slug of GITHUB_REF -- the branch or tag ref that triggered the workflow. If neither a branch or tag is available for the event type, the variable will not exist.
| GITHUB_REF | GITHUB_REF_SLUG |
|---|---|
| refs/heads/main | main |
| refs/heads/feat/new_feature | feat-new-feature |
| refs/tags/v1.0.0 | v1.0.0 |
| refs/tags/product@1.0.0-rc.2 | product-1.0.0-rc.2 |
| refs/heads/New_Awesome_Product | new-awesome-product |
GITHUB_REF_NAME_SLUG
Slug of GITHUB_REF_NAME -- the branch or tag name shown on GitHub. If neither a branch or tag is available for the event type, the variable will not exist.
| GITHUB_REF_NAME | GITHUB_REF_NAME_SLUG |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| v1.0.0 | v1.0.0 |
| product@1.0.0-rc.2 | product-1.0.0-rc.2 |
| New_Awesome_Product | new-awesome-product |
| 42/merge | 42-merge |
GITHUB_HEAD_REF_SLUG
Slug of GITHUB_HEAD_REF -- the branch of the head repository.
Only set for pull_request* events and forked repositories.
| GITHUB_HEAD_REF | GITHUB_HEAD_REF_SLUG |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
GITHUB_BASE_REF_SLUG
Slug of GITHUB_BASE_REF -- the branch of the base repository.
Only set for pull_request* events and forked repositories.
| GITHUB_BASE_REF | GITHUB_BASE_REF_SLUG |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
GITHUB_EVENT_REF_SLUG
Slug of github.event.ref -- the Git reference resource associated to the triggered webhook.
Only set for create and delete events.
| github.event.ref | GITHUB_EVENT_REF_SLUG |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
URL-Safe Slug Variables
URL-safe slug variables apply the SLUG_URL transformation: same as SLUG but . and _ are also replaced with -.
GITHUB_REPOSITORY_SLUG_URL
URL-safe slug of GITHUB_REPOSITORY -- the owner and repository name.
| GITHUB_REPOSITORY | GITHUB_REPOSITORY_SLUG_URL |
|---|---|
| octocat/Hello-World | octocat-hello-world |
| rlespinasse/Hello-World.go | rlespinasse-hello-world-go |
| AnotherPerson/SomeRepository | anotherperson-somerepository |
GITHUB_REPOSITORY_OWNER_PART_SLUG_URL
URL-safe slug of GITHUB_REPOSITORY_OWNER_PART -- the owner name.
| GITHUB_REPOSITORY_OWNER_PART | GITHUB_REPOSITORY_OWNER_PART_SLUG_URL |
|---|---|
| octocat | octocat |
| rlespinasse | rlespinasse |
| AnotherPerson | anotherperson |
GITHUB_REPOSITORY_NAME_PART_SLUG_URL
URL-safe slug of GITHUB_REPOSITORY_NAME_PART -- the repository name.
| GITHUB_REPOSITORY_NAME_PART | GITHUB_REPOSITORY_NAME_PART_SLUG_URL |
|---|---|
| Hello-World | hello-world |
| Hello-World.go | hello-world-go |
| SomeRepository | somerepository |
GITHUB_REF_SLUG_URL
URL-safe slug of GITHUB_REF -- the branch or tag ref that triggered the workflow. If neither a branch or tag is available for the event type, the variable will not exist.
| GITHUB_REF | GITHUB_REF_SLUG_URL |
|---|---|
| refs/heads/main | main |
| refs/heads/feat/new_feature | feat-new-feature |
| refs/tags/v1.0.0 | v1-0-0 |
| refs/pull/42/merge | 42-merge |
| refs/tags/product@1.0.0-rc.2 | product-1-0-0-rc-2 |
| refs/heads/New_Awesome_Product | new-awesome-product |
GITHUB_REF_NAME_SLUG_URL
URL-safe slug of GITHUB_REF_NAME -- the branch or tag name shown on GitHub. If neither a branch or tag is available for the event type, the variable will not exist.
| GITHUB_REF_NAME | GITHUB_REF_NAME_SLUG_URL |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| v1.0.0 | v1-0-0 |
| 42/merge | 42-merge |
| product@1.0.0-rc.2 | product-1-0-0-rc-2 |
| New_Awesome_Product | new-awesome-product |
GITHUB_HEAD_REF_SLUG_URL
URL-safe slug of GITHUB_HEAD_REF -- the branch of the head repository.
Only set for pull_request* events and forked repositories.
| GITHUB_HEAD_REF | GITHUB_HEAD_REF_SLUG_URL |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
GITHUB_BASE_REF_SLUG_URL
URL-safe slug of GITHUB_BASE_REF -- the branch of the base repository.
Only set for pull_request* events and forked repositories.
| GITHUB_BASE_REF | GITHUB_BASE_REF_SLUG_URL |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
GITHUB_EVENT_REF_SLUG_URL
URL-safe slug of github.event.ref -- the Git reference resource associated to the triggered webhook.
Only set for create and delete events.
| github.event.ref | GITHUB_EVENT_REF_SLUG_URL |
|---|---|
| main | main |
| feat/new_feature | feat-new-feature |
| New_Awesome_Product | new-awesome-product |
Short Variables
GITHUB_SHA_SHORT
Shortened GITHUB_SHA -- the commit SHA that triggered the workflow.
| GITHUB_SHA | GITHUB_SHA_SHORT |
|---|---|
| ffac537e6cbbf934b08745a378932722df287a53 | ffac537e |
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA_SHORT
Shortened value of github.event.pull_request.head.sha -- the last commit on the pull request that triggered the workflow.
| github.event.pull_request.head.sha | GITHUB_EVENT_PULL_REQUEST_HEAD_SHA_SHORT |
|---|---|
| ffac537e6cbbf934b08745a378932722df287a53 | ffac537e |
Case-Sensitive Variants
All slug and slug-url variables have a _CS suffix variant that preserves the original casing. The _CS variant applies the same transformation but skips the lowercase step.
| Standard | Case-Sensitive |
|---|---|
GITHUB_REPOSITORY_SLUG |
GITHUB_REPOSITORY_SLUG_CS |
GITHUB_REPOSITORY_SLUG_URL |
GITHUB_REPOSITORY_SLUG_URL_CS |
GITHUB_REF_SLUG |
GITHUB_REF_SLUG_CS |
GITHUB_REF_SLUG_URL |
GITHUB_REF_SLUG_URL_CS |
| (and so on for all slug/slug-url variables) |
Example:
| Input | SLUG | SLUG_CS |
|---|---|---|
refs/heads/New_Awesome_Product |
new-awesome-product |
New-Awesome-Product |
Variable Availability by Event
Not all variables are set for every event type. See GitHub variables by event for the full matrix.