---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://sourcecraft.dev/portal/docs/en/sourcecraft/ci-cd-ref/predefined-variables.md
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/ci-cd-ref/predefined-variables.md
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt

# Предопределенные переменные окружения

В SourceCraft значения некоторых [переменных окружения](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#variables) задаются автоматически. Вы можете использовать их в своих [CI/CD-процессах](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md).

#|
|| **Переменная** | **Описание** ||
|| `CI` | Показывает, что [задание](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#tasks) выполняется в CI-окружении. Значение всегда `true`. ||
|| `SOURCECRAFT_BASE_REF` | Имя целевой ветки [предложения изменений](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#pr) (ветки, в которую планируется внести правки). Например `main` или `team/integration`. Заполняется только при запуске проверок в предложении изменений и их перезапуске. ||
|| `SOURCECRAFT_BASE_SHA` | SHA-хэш коммита, по отношению к которому вычисляется список изменений. Принимает различные значения в зависимости от события, вызвавшего запуск [рабочего процесса](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#workflows):
* SHA-хэш предыдущего коммита в ветке в случае отправки изменений в ветку удаленного [репозитория](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#repos) (`on.push`).
* SHA-хэш последнего коммита в целевой ветке (`merge-base`) в случае создания предложения изменений (`on.pull_request`).
* Пустое значение в случае ручного запуска CI/CD-процесса (`manual`). ||
|| `SOURCECRAFT_CALLER_ID` | Уникальный идентификатор (UUID) пользователя, который инициировал запуск CI/CD-процесса. При запуске [общедоступного рабочего процесса](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/public-workflows.md) может отличаться от пользователя, под которым выполняется CI/CD-процесс (`SOURCECRAFT_USERNAME`). ||
|| `SOURCECRAFT_CALLER_NAME` | Имя пользователя, который инициировал запуск CI/CD-процесса. При запуске [общедоступного рабочего процесса](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/public-workflows.md) может отличаться от пользователя, под которым выполняется CI/CD-процесс (`SOURCECRAFT_USERNAME`). ||
|| `SOURCECRAFT_CHECKOUT_ENABLED` | Индикатор автоматического клонирования репозитория. Равно значению опции [checkout:enabled](https://sourcecraft.dev/portal/docs/ru/sourcecraft/ci-cd-ref/workflows.md#checkout). Значение по умолчанию — `true`. ||
|| `SOURCECRAFT_CI` | Показывает, что задание выполняется в CI/CD SourceCraft. Значение всегда `true`. ||
|| `SOURCECRAFT_COMMIT_AUTHOR` | Автор коммита. Передается в формате `Имя email`. ||
|| `SOURCECRAFT_COMMIT_DESCRIPTION` | Описание коммита. Если заголовок менее 100 символов — сообщение без заголовка. Иначе — сообщение целиком. ||
|| `SOURCECRAFT_COMMIT_MESSAGE` | Сообщение коммита. ||
|| `SOURCECRAFT_COMMIT_REF` | Полное имя ветки или тега (`fully-formed ref name`), которые вызвали запуск рабочего процесса. Например `refs/heads/main` или `refs/tags/v1.1`. ||
|| `SOURCECRAFT_COMMIT_REF_NAME` | Имя ветки или тега (`short ref name`), которые вызвали запуск рабочего процесса. Например `main` или `v1.1`. ||
|| `SOURCECRAFT_COMMIT_SHA` | SHA-хэш коммита, после которого запустился рабочий процесс. ||
|| `SOURCECRAFT_COMMIT_SHORT_SHA` | Первые 8 символов `SOURCECRAFT_COMMIT_SHA`. ||
|| `SOURCECRAFT_COMMIT_TIMESTAMP` | Временная метка коммита в формате [ISO 8601](https://www.rfc-editor.org/rfc/rfc3339#appendix-A), например `2025-03-03T23:41:19Z`. По умолчанию в зоне [UTC](https://ru.wikipedia.org/wiki/Всемирное_координированное_время). ||
|| `SOURCECRAFT_COMMIT_TITLE` | Заголовок коммита. Первая строка сообщения. ||
|| `SOURCECRAFT_COMMITTER` | Пользователь ([committer](https://en.wikipedia.org/wiki/Committer)), который добавил коммит в целевую ветку. Передается в формате `Имя email`. ||
|| `SOURCECRAFT_CUBE` | Имя выполняемого [кубика](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#cubes). ||
|| `SOURCECRAFT_CUBE_ARTIFACTS` | Список путей до артефактов кубика относительно `SOURCECRAFT_WORKSPACE` с `;` в качестве разделителя. Определен только для кубиков с заданными артефактами. ||
|| `SOURCECRAFT_CUBE_IMAGE` | Используемый кубиком Docker-образ. Определен только для кубиков, которые используют контейнер. ||
|| `SOURCECRAFT_ENV` | Переменная, с помощью которой передаются переменные окружения от одного кубика к последующим в виде пар `KEY=VALUE`. Для записи в переменную используется оператор перенаправления ввода `>>`. Примеры в разделе [SOURCECRAFT_ENV](https://sourcecraft.dev/portal/docs/ru/sourcecraft/ci-cd-ref/env-vars-between-cubes.md#env). ||
|| `SOURCECRAFT_EVENT` | Тип [события-триггера](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md#on), которое вызвало запуск рабочего процесса:
* `push` — отправка изменений в ветку удаленного репозитория.
* `pull_request` — создание предложения изменений.
* `restart` — перезапуск CI/CD-процесса.
* `manual` — ручной запуск CI/CD-процесса. ||
|| `SOURCECRAFT_OUTPUT` | Переменная, с помощью которой от одного кубика к другому передаются пары `KEY=VALUE` через блок `outputs`. Для записи в переменную используется оператор перенаправления ввода `>>`. Примеры в разделе [SOURCECRAFT_OUTPUT](https://sourcecraft.dev/portal/docs/ru/sourcecraft/ci-cd-ref/env-vars-between-cubes.md#output). ||
|| `SOURCECRAFT_PR_ID` | Уникальный идентификатор ([UUID](https://ru.wikipedia.org/wiki/UUID)) предложения изменений, в рамках которого запущено задание. ||
|| `SOURCECRAFT_PR_SLUG` | Порядковый номер предложения изменений, в рамках которого запущено задание, отображаемый в интерфейсе SourceCraft. ||
|| `SOURCECRAFT_REPO_ID` | Уникальный идентификатор (UUID) репозитория, в рамках которого запущено текущее задание. ||
|| `SOURCECRAFT_REPO_URL` | Ссылка на репозиторий в формате `https://git@git.sourcecraft.dev/<слаг_организации>/<слаг_репозитория>.git`. ||
|| `SOURCECRAFT_ROOT_DIRECTORY` | Путь до директории, в которой находятся связанные с выполняемым заданием файлы. ||
|| `SOURCECRAFT_RUN_ID` | Пользовательский номер запуска CI/CD SourceCraft. Монотонно возрастает. Можно использовать для версионирования. ||
|| `SOURCECRAFT_TASK` | Имя выполняемого задания. ||
|| `SOURCECRAFT_TASK_DATA` | Путь до директории, в которой находятся служебные файлы выполняемого задания. ||
|| `SOURCECRAFT_TOKEN` | Токен для аутентификации в [API SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/api-start.md) изнутри CI/CD-процесса. Пример получения списка [задач](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#issues) пользователя:

{% include [src-token-example](../../_includes/sourcecraft/ci-cd/src-token-example.md) %}

||
|| `SOURCECRAFT_USERNAME` | Имя пользователя, под которым выполняется CI/CD-процесс. При запуске [общедоступного рабочего процесса](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/public-workflows.md) всегда совпадает с пользователем, который пометил рабочий процесс общедоступным (`shared: true`) и зафиксировал изменения в основную ветку. В остальных случаях совпадает с `SOURCECRAFT_CALLER_NAME`. ||
|| `SOURCECRAFT_WORKFLOW` | Имя выполняемого рабочего процесса. ||
|| `SOURCECRAFT_WORKSPACE` | Путь до директории, в которую клонируется репозиторий и которая по умолчанию назначается рабочей директорией (`workdir`) для кубиков с контейнером. ||
|#

#### Полезные ссылки {#see-also}

* [Непрерывная интеграция и непрерывное развертывание в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md)
* [Настроить CI/CD в репозитории SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/ci-cd.md)
* [Работа с переменными окружения в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/variables.md)
* [Передача переменных окружения от одного кубика к другому](https://sourcecraft.dev/portal/docs/ru/sourcecraft/ci-cd-ref/env-vars-between-cubes.md)

{% included (../../_includes/sourcecraft/ci-cd/src-token-example.md) %}
```yaml
on:
  push: test-workflow
workflows:
  test-workflow:
    tasks:
      - name: issues-task
        cubes:
          - name: i-have-got-issues
            script:
              - |
                curl \
                  --header "Authorization: Bearer $SOURCECRAFT_TOKEN" \
                  --url "https://api.sourcecraft.tech/me/issues"
```
{% endincluded %}