func convertPipeline()

in pipegen/config/config.go [126:185]


func convertPipeline(pipeline *proxy.Pipeline) *Pipeline {
	steps := make([]Step, len(pipeline.Steps))
	for is, step := range pipeline.Steps {
		steps[is] = Step{Name: getStringValue(step.Name),
			Type:                 getStringValue(step.Type),
			Command:              getStringValue(step.Command),
			Agents:               step.AgentQueryRules,
			Branches:             getStringValue(step.BranchConfiguration),
			ArtifactPaths:        getStringValue(step.ArtifactPaths),
			Timeout:              getIntValue(step.TimeoutInMinutes),
			Concurrency:          getIntValue(step.Concurrency),
			Parallelism:          getIntValue(step.Parallelism),
			EnvironmentVariables: step.Env,
		}
	}

	teams := make([]TeamAccess, len(pipeline.Details.Access))
	for i, t := range pipeline.Details.Access {
		teams[i] = TeamAccess{
			Slug:        t.TeamSlug,
			AccessLevel: t.AccessLevel}
	}

	schedules := make([]Schedule, len(pipeline.Details.Schedules))
	for i, s := range pipeline.Details.Schedules {
		schedules[i] = Schedule{
			Description:          s.Label,
			CronInterval:         s.Cronline,
			BuildMessage:         s.Message,
			Commit:               s.Commit,
			Branch:               s.Branch,
			EnvironmentVariables: s.Env,
			Enabled:              s.Enabled}
	}

	repo := Repository{
		RepositoryUrl:  getStringValue(pipeline.Repository),
		DefaultBranch:  getStringValue(pipeline.DefaultBranch),
		BranchLimiting: getStringValue(pipeline.BranchConfiguration)}
	provider := Provider{
		WebhookUrl: getStringValue(pipeline.Provider.WebhookURL),
		Settings:   pipeline.Provider.Settings}
	skip := BuildSkipping{
		SkipIntermediateBuilds:   pipeline.SkipQueuedBranchBuilds,
		SkipBranches:             getStringValue(pipeline.SkipBueuedBranchBuildsFilter),
		CancelIntermediateBuilds: pipeline.CancelRunningBranchBuilds,
		CancelBranches:           getStringValue(pipeline.CancelRunningBranchBuildsFilter)}

	return &Pipeline{Name: getStringValue(pipeline.Name),
		Slug:          getStringValue(pipeline.Slug),
		Description:   getStringValue(pipeline.Description),
		Public:        pipeline.Details.Public,
		Steps:         steps,
		Configuration: getStringValue(pipeline.Configuration),
		Teams:         teams,
		Schedules:     schedules,
		BuildSkipping: &skip,
		Repository:    &repo,
		Provider:      &provider}
}