1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/modules/jenkins/settings.go
Chris Cummer fce8b69459 Support case-insensitive 'apiKey' config keys
'apiKey' is one that people are likely to spell wrong in their configs
as 'apikey'. Given that there's no sanity-checking around required
config values yet, and a missing API key can cause silent failures in
some modules, be liberal in accepting spelling.
2019-08-29 06:34:52 -07:00

38 lines
1.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package jenkins
import (
"os"
"github.com/olebedev/config"
"github.com/wtfutil/wtf/cfg"
)
const defaultTitle = "Jenkins"
type Settings struct {
common *cfg.Common
apiKey string `help:"Your Jenkins API key."`
jobNameRegex string `help:"A regex that filters the jobs shown in the widget." optional:"true"`
successBallColor string `help:"Changes the default color of successful Jenkins jobs to the color of your choosing." values:"blue, green, purple, yellow, etc." optional:"true"`
url string `help:"The url to your Jenkins project or view."`
user string `help:"Your Jenkins username."`
verifyServerCertificate bool `help:"Determines whether or not the servers certificate chain and host name are verified." values:"true or false" optional:"true"`
}
func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings {
settings := Settings{
common: cfg.NewCommonSettingsFromModule(name, defaultTitle, ymlConfig, globalConfig),
apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_JENKINS_API_KEY"))),
jobNameRegex: ymlConfig.UString("jobNameRegex", ".*"),
successBallColor: ymlConfig.UString("successBallColor", "blue"),
url: ymlConfig.UString("url"),
user: ymlConfig.UString("user"),
verifyServerCertificate: ymlConfig.UBool("verifyServerCertificate", true),
}
return &settings
}