var (
Summary string
Description string
)
func init() {
CreateCmd.AddCommand(issueCmd)
CreateCmd.Flags().StringVarP(&Summary, "summary", "s", "", "a summary of ticket")
CreateCmd.Flags().StringVarP(&Description, "description", "d", "", "a description of ticket")
if err := CreateCmd.MarkFlagRequired("summary"); err != nil {
fmt.Println(err)
}
if err := CreateCmd.MarkFlagRequired("description"); err != nil {
fmt.Println(err)
}
}
// initConfig reads in config file and ENV variables if set.
func initConfig() {
if cfgFile != "" {
// Use config file from the flag.
viper.SetConfigFile(cfgFile)
} else {
// Find home directory.
home, err := os.UserHomeDir()
cobra.CheckErr(err)
// Search config in home directory with name ".mycli" (without extension).
viper.AddConfigPath(home)
viper.SetConfigType("yaml")
viper.SetConfigName(".mycli")
}
viper.AutomaticEnv() // read in environment variables that match
// If a config file is found, read it in.
if err := viper.ReadInConfig(); err == nil {
fmt.Fprintln(os.Stderr, "Using config file:", viper.ConfigFileUsed())
}
cobra-cli add configure
var (
JIRA_USERNAME string
JIRA_TOKEN string
)
// ConfigureCmd represents the configure command
var ConfigureCmd = &cobra.Command{
Use: "configure",
Short: "A brief description of your command",
Long: `A longer description that spans multiple lines and likely contains examples
and usage of using your command. For example:
Cobra is a CLI library for Go that empowers applications.
This application is a tool to generate the needed files
to quickly create a Cobra application.`,
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("configure called")
viper.Set("JIRA_USERNAME", JIRA_USERNAME)
viper.Set("JIRA_TOKEN", JIRA_TOKEN)
error := viper.SafeWriteConfig()
if error != nil {
fmt.Println(error)
}
},
}
func init() {
ConfigureCmd.Flags().StringVarP(&JIRA_USERNAME, "jira-username", "u", "", "jira username")
ConfigureCmd.Flags().StringVarP(&JIRA_TOKEN, "jira-token", "t", "", "jira token")
if err := ConfigureCmd.MarkFlagRequired("jira-username"); err != nil {
fmt.Println(err)
}
if err := ConfigureCmd.MarkFlagRequired("jira-token"); err != nil {
fmt.Println(err)
}
}