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

     1  package cmd
     2  
     3  import (
     4  	"log"
     5  
     6  	"github.com/spf13/cobra"
     7  	lab "github.com/zaquestion/lab/internal/gitlab"
     8  )
     9  
    10  var mrMergeCmd = &cobra.Command{
    11  	Use:     "merge [remote] <id>",
    12  	Aliases: []string{"delete"},
    13  	Short:   "Merge an open merge request",
    14  	Long:    `If the pipeline for the mr is still running, lab sets merge on success`,
    15  	Args:    cobra.MinimumNArgs(1),
    16  	Run: func(cmd *cobra.Command, args []string) {
    17  		rn, id, err := parseArgs(args)
    18  		if err != nil {
    19  			log.Fatal(err)
    20  		}
    21  
    22  		p, err := lab.FindProject(rn)
    23  		if err != nil {
    24  			log.Fatal(err)
    25  		}
    26  
    27  		err = lab.MRMerge(p.ID, int(id))
    28  		if err != nil {
    29  			log.Fatal(err)
    30  		}
    31  	},
    32  }
    33  
    34  func init() {
    35  	mrCmd.AddCommand(mrMergeCmd)
    36  }