github-actions-0.1.1.0: Github Actions
Copyright(c) 2025 Bellroy Pty Ltd
LicenseBSD-3-Clause
MaintainerBellroy Tech Team <haskell@bellroy.com>
Safe HaskellNone
LanguageHaskell2010

Language.Github.Actions.Job.Environment

Description

This module provides the JobEnvironment type for configuring deployment environments that jobs target in GitHub Actions workflows.

Job environments allow you to: * Target specific deployment environments (production, staging, etc.) * Control access through environment protection rules * Use environment-specific secrets and variables * Track deployment history and status

For more information about GitHub Actions environments, see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idenvironment

Synopsis

Documentation

data JobEnvironment Source #

Environment configuration for deployment jobs.

Job environments can be specified in two ways:

Named environments are the most common and reference environments configured in your repository settings. Custom environments allow inline configuration for specific deployment scenarios.

Example usage:

import Language.Github.Actions.Job.Environment
import qualified Data.Map as Map

-- Reference a named environment
prodEnvironment :: JobEnvironment
prodEnvironment = NamedJobEnvironment "production"

stagingEnvironment :: JobEnvironment
stagingEnvironment = NamedJobEnvironment "staging"

-- Custom environment with URL
customEnvironment :: JobEnvironment
customEnvironment = CustomJobEnvironment $ Map.fromList
 [ ("name", "review-pr-123")
 , ("url", "https://pr-123.preview.example.com")
 ]

For more details, see: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idenvironment

Constructors

NamedJobEnvironment Text

Reference a named environment

CustomJobEnvironment (Map Text Text)

Custom environment configuration

Instances

Instances details
FromJSON JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

ToJSON JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

Generic JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

Associated Types

type Rep JobEnvironment 
Instance details

Defined in Language.Github.Actions.Job.Environment

type Rep JobEnvironment = D1 ('MetaData "JobEnvironment" "Language.Github.Actions.Job.Environment" "github-actions-0.1.1.0-BjHhRMO6iQ17qdsNXwhDab" 'False) (C1 ('MetaCons "NamedJobEnvironment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "CustomJobEnvironment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))))
Show JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

Eq JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

Ord JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

type Rep JobEnvironment Source # 
Instance details

Defined in Language.Github.Actions.Job.Environment

type Rep JobEnvironment = D1 ('MetaData "JobEnvironment" "Language.Github.Actions.Job.Environment" "github-actions-0.1.1.0-BjHhRMO6iQ17qdsNXwhDab" 'False) (C1 ('MetaCons "NamedJobEnvironment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :+: C1 ('MetaCons "CustomJobEnvironment" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Text Text))))