github.com/wtfutil/wtf@v0.43.0/modules/circleci/settings.go (about) 1 package circleci 2 3 import ( 4 "os" 5 6 "github.com/olebedev/config" 7 "github.com/wtfutil/wtf/cfg" 8 ) 9 10 const ( 11 defaultFocusable = false 12 defaultTitle = "CircleCI" 13 ) 14 15 type Settings struct { 16 *cfg.Common 17 18 apiKey string `help:"Your CircleCI API token."` 19 numberOfBuilds int `help:"The number of build, 10 by default"` 20 } 21 22 func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { 23 24 settings := Settings{ 25 Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), 26 27 apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_CIRCLE_API_KEY"))), 28 numberOfBuilds: ymlConfig.UInt("numberOfBuilds", 10), 29 } 30 31 cfg.ModuleSecret(name, globalConfig, &settings.apiKey).Load() 32 33 return &settings 34 }