github.com/ianfoo/lab@v0.9.5-0.20180123060006-5ed79f2ccfc7/cmd/issueClose.go (about)

     1  package cmd
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  
     7  	"github.com/spf13/cobra"
     8  	lab "github.com/zaquestion/lab/internal/gitlab"
     9  )
    10  
    11  var issueCloseCmd = &cobra.Command{
    12  	Use:     "close [remote] <id>",
    13  	Aliases: []string{"delete"},
    14  	Short:   "Close issue by id",
    15  	Long:    ``,
    16  	Args:    cobra.MinimumNArgs(1),
    17  	Run: func(cmd *cobra.Command, args []string) {
    18  		rn, id, err := parseArgs(args)
    19  		if err != nil {
    20  			log.Fatal(err)
    21  		}
    22  
    23  		p, err := lab.FindProject(rn)
    24  		if err != nil {
    25  			log.Fatal(err)
    26  		}
    27  
    28  		err = lab.IssueClose(p.ID, int(id))
    29  		if err != nil {
    30  			log.Fatal(err)
    31  		}
    32  		fmt.Printf("Issue #%d closed\n", id)
    33  	},
    34  }
    35  
    36  func init() {
    37  	issueCmd.AddCommand(issueCloseCmd)
    38  }