environments.yml reference
Last updated 2026-10-07
Project-wide defaults in fastlane/config/environments.yml. The platform blocks are documented under Android and iOS.
Note: any string can reference an environment variable as
${NAME}. A value that's still ${NAME} after loading is treated as empty.fastlane/config/environments.yml
project: name: "MyApp" # used in artifact names, e-mails, Teams cards identifier: "myapp" organization: "Your Company" default_environment: "development" # used when no environment: option and no APP_ENV
notifications: # defaults, overridable per environment teams: { enabled: true, webhook_url: "${TEAMS_WEBHOOK_URL}" } slack: { enabled: false, webhook_url: "${SLACK_WEBHOOK_URL}" }release_notes: enabled: true source: "git" # git | manual | file commit_count: 10 prefix: "Automated Mobile Distribution"ci: build: clean_before_build: truesecurity: production_requires_ci: falseartifact: naming: enabled: true pattern: "{project}-{environment}-v{version}-{build}.{extension}" # also {commit}, {platform}How values are resolved
- The YAML file is loaded (safe YAML 1.2, no Ruby objects).
- Every
${NAME}is replaced from.envor the process environment. - Global sections (
notifications,release_notes) are deep-merged with the environment's own overrides. - When a profile runs, its values are deep-merged last.
my-app — zsh
~/my-app $ bundle exec fastlane android info environment:staging[14:48:03]: --- Android Distribution Information ---Project: MyAppEnvironment: stagingGradle task: assembleReleaseFirebase enabled: trueOfficial documentation
Was this helpful?