提交 9d4e4cfd 编写于 作者: LinuxSuRen's avatar LinuxSuRen

Use jobname instead of option

上级 f5dbbae5
......@@ -6,9 +6,6 @@ import (
type JobOption struct {
OutputOption
Name string
History bool
}
var jobOption JobOption
......@@ -16,7 +13,6 @@ var jobOption JobOption
func init() {
rootCmd.AddCommand(jobCmd)
jobCmd.PersistentFlags().StringVarP(&jobOption.Format, "output", "o", "json", "Format the output")
jobCmd.PersistentFlags().StringVarP(&jobOption.Name, "name", "n", "", "Name of the job")
}
var jobCmd = &cobra.Command{
......
......@@ -22,16 +22,18 @@ func init() {
}
var jobBuildCmd = &cobra.Command{
Use: "build -n",
Use: "build <jobName>",
Short: "Build the job of your Jenkins",
Long: `Build the job of your Jenkins`,
Run: func(cmd *cobra.Command, args []string) {
if jobOption.Name == "" {
if len(args) == 0 {
cmd.Help()
return
}
if !jobBuildOption.Confirm(fmt.Sprintf("Are you sure to build job %s", jobOption.Name)) {
name := args[0]
if !jobBuildOption.Confirm(fmt.Sprintf("Are you sure to build job %s", name)) {
return
}
......@@ -45,7 +47,7 @@ var jobBuildCmd = &cobra.Command{
paramDefs := []client.ParameterDefinition{}
hasParam := false
if job, err := jclient.GetJob(jobOption.Name); err == nil {
if job, err := jclient.GetJob(name); err == nil {
if len(job.Property) != 0 {
for _, pro := range job.Property {
if len(pro.ParameterDefinitions) == 0 {
......@@ -77,9 +79,9 @@ var jobBuildCmd = &cobra.Command{
}
if hasParam {
jclient.BuildWithParams(jobOption.Name, paramDefs)
jclient.BuildWithParams(name, paramDefs)
} else {
jclient.Build(jobOption.Name)
jclient.Build(name)
}
},
}
package cmd
import (
"errors"
"fmt"
"log"
......@@ -15,19 +14,19 @@ func init() {
}
var jobEditCmd = &cobra.Command{
Use: "edit -n",
Use: "edit <jobName>",
Short: "Edit the job of your Jenkins",
Long: `Edit the job of your Jenkins`,
Args: func(cmd *cobra.Command, args []string) error {
if jobOption.Name == "" {
return errors.New("requires job name")
}
return nil
},
Run: func(cmd *cobra.Command, args []string) {
if len(args) == 0 {
cmd.Help()
return
}
name := args[0]
var content string
var err error
if content, err = getPipeline(jobOption.Name); err != nil {
if content, err = getPipeline(name); err != nil {
log.Fatal(err)
}
......@@ -39,11 +38,9 @@ var jobEditCmd = &cobra.Command{
AppendDefault: true,
}
fmt.Println(content)
if err = survey.AskOne(prompt, &content); err != nil {
log.Fatal(err)
}
fmt.Println(content)
jenkins := getCurrentJenkins()
jclient := &client.JobClient{}
......@@ -52,7 +49,7 @@ var jobEditCmd = &cobra.Command{
jclient.Token = jenkins.Token
jclient.Proxy = jenkins.Proxy
jclient.ProxyAuth = jenkins.ProxyAuth
if err = jclient.UpdatePipeline(jobOption.Name, content); err != nil {
if err = jclient.UpdatePipeline(name, content); err != nil {
fmt.Println("update failed")
log.Fatal(err)
}
......
......@@ -22,7 +22,7 @@ func init() {
}
var jobHistoryCmd = &cobra.Command{
Use: "history <keyword>",
Use: "history <jobName>",
Short: "Print the history of job in your Jenkins",
Long: `Print the history of job in your Jenkins`,
Run: func(cmd *cobra.Command, args []string) {
......
......@@ -28,15 +28,16 @@ func init() {
}
var jobLogCmd = &cobra.Command{
Use: "log -n",
Use: "log <jobName>",
Short: "Print the job of your Jenkins",
Long: `Print the job of your Jenkins`,
Run: func(cmd *cobra.Command, args []string) {
if jobOption.Name == "" {
if len(args) == 0 {
cmd.Help()
return
}
name := args[0]
jenkins := getCurrentJenkins()
jclient := &client.JobClient{}
jclient.URL = jenkins.URL
......@@ -47,7 +48,7 @@ var jobLogCmd = &cobra.Command{
lastBuildID := -1
for {
if build, err := jclient.GetBuild(jobOption.Name, -1); err == nil {
if build, err := jclient.GetBuild(name, -1); err == nil {
jobLogOption.LastBuildID = build.Number
jobLogOption.LastBuildURL = build.URL
}
......@@ -56,7 +57,7 @@ var jobLogCmd = &cobra.Command{
fmt.Println("Current build number:", jobLogOption.LastBuildID)
fmt.Println("Current build url:", jobLogOption.LastBuildURL)
printLog(jclient, jobOption.Name, jobLogOption.History, 0)
printLog(jclient, name, jobLogOption.History, 0)
}
if !jobLogOption.Watch {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册