Note
A GitHub Action that transforms input strings into URL-friendly slugs
This action creates standardized slug versions of your input variables, offering multiple formatting options:
<env name>_SLUG- Converts text to lowercase
- Replaces special characters with - (except 0-9, a-z, ., and _)
- Removes leading and trailing *-$
- Limits string length to 63 characters
<env name>_SLUG_CS- Same as
_SLUGbut preserves original case sensitivity
- Same as
<env name>_SLUG_URLand<env name>_SLUG_URL_CS- Same as their respective base versions (
_SLUGor_SLUG_CS) - Additionally replaces . and _ with -
- Perfect for URL-safe strings
- Same as their respective base versions (
Each output variable maintains consistent formatting rules while serving different use cases, from basic slugification to URL-ready strings.
-
Slugify a value and store it using a key
- uses: rlespinasse/slugify-value@v1.x with: key: KEY_NAME value: value_to_slugify
Will make available
KEY_NAMEKEY_NAME_SLUGKEY_NAME_SLUG_CSKEY_NAME_SLUG_URLKEY_NAME_SLUG_URL_CS
-
Slugify the value of an environment variable
- uses: rlespinasse/slugify-value@v1.x with: key: EXISTING_ENV_VAR
Will make available
EXISTING_ENV_VAR_SLUGEXISTING_ENV_VAR_SLUG_CSEXISTING_ENV_VAR_SLUG_URLEXISTING_ENV_VAR_SLUG_URL_CS
-
Slugify the value of an environment variable with prefix
- uses: rlespinasse/slugify-value@v1.x with: key: EXISTING_ENV_VAR prefix: CI_
Will make available
CI_EXISTING_ENV_VARCI_EXISTING_ENV_VAR_SLUGCI_EXISTING_ENV_VAR_SLUG_CSCI_EXISTING_ENV_VAR_SLUG_URLCI_EXISTING_ENV_VAR_SLUG_URL_CS
-
Slugify a value with a different slug length
- uses: rlespinasse/slugify-value@v1.x with: key: EXISTING_ENV_VAR slug-maxlength: 80
Will produce SLUG variables with a 80-char length
-
Slugify a value without length limit
- uses: rlespinasse/slugify-value@v1.x with: key: EXISTING_ENV_VAR slug-maxlength: "nolimit"
Will produce SLUG variables without limiting the output length
-
Slugify a value without publishing the environment variables
- uses: rlespinasse/slugify-value@v1.x with: key: KEY_NAME value: value_to_slugify publish-env: false
Will not make available
KEY_NAMEKEY_NAME_SLUGKEY_NAME_SLUG_CSKEY_NAME_SLUG_URLKEY_NAME_SLUG_URL_CS
| Input | Description | Mandatory | Default |
|---|---|---|---|
| key | Environment variable that will hold the value and serve as prefix to slugified value | Yes | |
| value | The value to slugify. If not set the value will be taken from the key input as environment variable |
No | |
| prefix | The value will be prepend to each generated variable | No | |
| slug-maxlength | The value is a number or nolimit to reflect the length of the slug outputs |
No | 63 |
| publish-env | In addition of the action output, the slug values are publish as environment variables | No | true |
| Output | Description |
|---|---|
| value | The value to be slugify |
| slug | Value Slug |
| slug-cs | Value Slug (Case-sensitive) |
| slug-url | Value Slug URL |
| slug-url-cs | Value Slug URL (Case-sensitive) |