Environment Variables

Screwdriver exports a set of environment variables that you can rely on during build runtime.

Note: Environment variables set in one job cannot be accessed in another job. To pass variables between jobs, use metadata.

Build Specific

General

Name Description
SD_BUILD_ID The ID of the build
SD_EVENT_ID The ID of the event
SD_JOB_ID The ID of the job
SD_JOB_NAME Job name (e.g.: main)
SD_PIPELINE_ID The ID of the pipeline
SD_PIPELINE_NAME The name of the pipeline (e.g.: d2lam/myPipeline)
SD_PULL_REQUEST Pull Request number (e.g.: 1; blank if non-PR)
SD_TEMPLATE_FULLNAME Full template name the job is using (e.g.: d2lam/myTemplate; blank if not using template)
SD_TEMPLATE_NAME Name of the template the job is using (e.g.: myTemplate; blank if not using template)
SD_TEMPLATE_NAMESPACE Namespace of the template the job is using (e.g.: d2lam; blank if not using template)
SD_TEMPLATE_VERSION Version of the template the job is using (blank if not using template)
SD_TOKEN JWT token for the build

User configurable

Name Default Value Description
SD_ZIP_ARTIFACTS false Options: (true/false)

Compresses and uploads artifacts in a single ZIP file.

Use case: If you’re using Amazon S3 for your store, the zip file can be unzipped on the store end using AWS Lambda. Reduces upload time when your build has a lot of artifacts but there’s an upper limit to the size and number of files in the zip file you upload, since the compute resources on Lambda are limited per build. If the upload fails, it’s likely that you have more artifacts or that the zip is larger than Lambda can handle.

Note: Consult with your cluster admin to see if this option is available.
USER_SHELL_BIN sh The user shell bin to run the build in. Can also be the full path such as /bin/bash.
GIT_SHALLOW_CLONE true Options: (true/false)

Shallow clones source repository with a depth of 50 commits.

Plugins

These environment variables may or may not be available depending on what plugins are installed.

Coverage (Sonar)

Name Description
SD_SONAR_AUTH_URL Screwdriver API authentication URL that will return a Sonar access token
SD_SONAR_HOST Sonar host URL

Directories

Name Description
SD_ARTIFACTS_DIR Location of built/generated files
SD_META_PATH Location of the metadata file
SD_ROOT_DIR Location of workspace (e.g.: /sd/workspace)
SD_SOURCE_DIR Location of checked-out code (e.g.: sd/workspace/src/github.com/d2lam/myPipeline)
SD_SOURCE_PATH Location of source path which triggered current build. See Source Paths.
SD_CONFIG_DIR Location of parent pipeline’s repository (only set for child pipelines) (e.g.: sd/workspace/config)

Environment Variables

Name Description
<environment_variable> Environment variable specified under the “environment” section in your screwdriver.yaml

Source Code

Name Description
SCM_URL SCM URL that was checked out (e.g.: https://github.com/d2lam/myPipeline)
GIT_URL SCM URL that was checked out with .git appended (e.g.: https://github.com/d2lam/myPipeline.git)
CONFIG_URL SCM URL of the parent pipeline repository (only set for child pipelines)
GIT_BRANCH Reference for PR or the branch (e.g.: origin/refs/${PRREF} or origin/${BRANCH})
SD_BUILD_SHA The Git commit SHA (e.g.: b5a94cdabf23b21303a0e6d5be5e96bd6300847a)

URLs

Name Description
SD_API_URL Link to the Screwdriver API URL
SD_BUILD_URL Link to the Screwdriver build URL
SD_STORE_URL Link to the Screwdriver Store URL

Continuous Integration

Name Description
CI true
CONTINUOUS_INTEGRATION true
SCREWDRIVER true