# `Pipette.Info`
[🔗](https://github.com/tommeier/pipette-buildkite-plugin/blob/main/lib/pipette/info.ex#L1)

Accessor functions for reading pipeline configuration from Spark DSL modules.

These functions extract entities and options from modules that
`use Pipette.DSL`:

    branches  = Pipette.Info.branches(MyApp.Pipeline)
    groups    = Pipette.Info.groups(MyApp.Pipeline)
    pipeline  = Pipette.Info.to_pipeline(MyApp.Pipeline)

# `branches`

```elixir
@spec branches(module()) :: [Pipette.Branch.t()]
```

Returns all `%Pipette.Branch{}` entities.

# `cache`

```elixir
@spec cache(module()) :: keyword() | nil
```

Returns the pipeline-level `:cache` config.

# `env`

```elixir
@spec env(module()) :: map()
```

Returns the pipeline-level `:env` map.

# `force_activate`

```elixir
@spec force_activate(module()) :: map()
```

Returns the pipeline-level `:force_activate` map.

# `groups`

```elixir
@spec groups(module()) :: [Pipette.Group.t()]
```

Returns all `%Pipette.Group{}` entities.

# `ignore`

```elixir
@spec ignore(module()) :: [String.t()]
```

Returns the pipeline-level `:ignore` patterns.

# `scopes`

```elixir
@spec scopes(module()) :: [Pipette.Scope.t()]
```

Returns all `%Pipette.Scope{}` entities.

# `secrets`

```elixir
@spec secrets(module()) :: [String.t()]
```

Returns the pipeline-level `:secrets` list.

# `to_pipeline`

```elixir
@spec to_pipeline(module()) :: Pipette.Pipeline.t()
```

Assembles a `%Pipette.Pipeline{}` struct from the Spark DSL data
on the given module.

# `triggers`

```elixir
@spec triggers(module()) :: [Pipette.Trigger.t()]
```

Returns all `%Pipette.Trigger{}` entities.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
