types

package
v0.4.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToYAML

func ToYAML(ctx context.Context, workflow *Workflow) ([]byte, error)

Types

type Action

type Action struct {
	// Required. The integration that this uses.
	IntegrationID string

	// Required. The verb to perform.
	Verb string

	// Optional. A way to unique identify the step.
	Subresource string
}

func ParseActionID

func ParseActionID(actionID string) (Action, error)

ParseActionID parses an action ID into its constituent parts.

func (Action) IntegrationVerbString

func (o Action) IntegrationVerbString() string

func (Action) String

func (o Action) String() string

type RandomScheduleOpt

type RandomScheduleOpt string
const (
	Random15Min  RandomScheduleOpt = "random_15_min"
	RandomHourly RandomScheduleOpt = "random_hourly"
	RandomDaily  RandomScheduleOpt = "random_daily"
)

type Workflow

type Workflow struct {
	Name string `yaml:"name,omitempty"`

	Version string `yaml:"version,omitempty"`

	Description string `yaml:"description,omitempty"`

	Triggers WorkflowTriggers `yaml:"triggers"`

	Jobs map[string]WorkflowJob `yaml:"jobs"`
}

func DefaultLoader

func DefaultLoader() []*Workflow

func ParseYAML

func ParseYAML(ctx context.Context, yamlBytes []byte) (Workflow, error)

func ReadAllValidFilesInDir

func ReadAllValidFilesInDir(filedir string) ([]*Workflow, error)

func ReadHatchetYAMLFileBytes

func ReadHatchetYAMLFileBytes(filepath string) (*Workflow, error)

ReadHatchetYAMLFileBytes reads a given YAML file from a filepath and return the parsed workflow file

type WorkflowEvent

type WorkflowEvent struct {
	Name string `yaml:"name,omitempty"`
}

type WorkflowJob

type WorkflowJob struct {
	Description string `yaml:"description,omitempty"`

	Timeout string `yaml:"timeout,omitempty"`

	Steps []WorkflowStep `yaml:"steps"`
}

type WorkflowOnCron

type WorkflowOnCron struct {
	Schedule string `yaml:"schedule,omitempty"`
}

type WorkflowStep

type WorkflowStep struct {
	Name     string                 `yaml:"name,omitempty"`
	ID       string                 `yaml:"id,omitempty"`
	ActionID string                 `yaml:"action"`
	Timeout  string                 `yaml:"timeout,omitempty"`
	With     map[string]interface{} `yaml:"with,omitempty"`
}

type WorkflowTriggers

type WorkflowTriggers struct {
	Events    []string    `yaml:"events,omitempty"`
	Cron      []string    `yaml:"crons,omitempty"`
	Schedules []time.Time `yaml:"schedules,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL