// FetchConfig returns the configuration. func (configSource StaticConfigSource) FetchConfig(*SourceRepository) (atc.TaskConfig, error) { taskConfig := atc.TaskConfig{} if configSource.Plan.Config != nil { taskConfig = *configSource.Plan.Config } if configSource.Plan.Params == nil { return taskConfig, nil } if taskConfig.Params == nil { taskConfig.Params = map[string]string{} } for key, val := range configSource.Plan.Params { switch v := val.(type) { case string: taskConfig.Params[key] = v case float64: if math.Floor(v) == v { taskConfig.Params[key] = strconv.FormatInt(int64(v), 10) } else { taskConfig.Params[key] = strconv.FormatFloat(v, 'f', -1, 64) } default: bs, err := json.Marshal(val) if err != nil { return atc.TaskConfig{}, err } taskConfig.Params[key] = string(bs) } } return taskConfig, nil }