github.com/osievert/jfrog-cli-core@v1.2.7/missioncontrol/commands/jpdadd.go (about)

     1  package commands
     2  
     3  import (
     4  	"errors"
     5  	"net/http"
     6  
     7  	"github.com/jfrog/jfrog-cli-core/missioncontrol/utils"
     8  	"github.com/jfrog/jfrog-cli-core/utils/config"
     9  	"github.com/jfrog/jfrog-client-go/http/httpclient"
    10  	clientutils "github.com/jfrog/jfrog-client-go/utils"
    11  	"github.com/jfrog/jfrog-client-go/utils/errorutils"
    12  	"github.com/jfrog/jfrog-client-go/utils/log"
    13  )
    14  
    15  func JpdAdd(flags *JpdAddFlags) error {
    16  	missionControlUrl := flags.MissionControlDetails.Url + "api/v1/jpds"
    17  	httpClientDetails := utils.GetMissionControlHttpClientDetails(flags.MissionControlDetails)
    18  	client, err := httpclient.ClientBuilder().Build()
    19  	if err != nil {
    20  		return err
    21  	}
    22  	resp, body, err := client.SendPost(missionControlUrl, flags.JpdConfig, httpClientDetails)
    23  	if err != nil {
    24  		return err
    25  	}
    26  	if resp.StatusCode != http.StatusCreated {
    27  		return errorutils.CheckError(errors.New(resp.Status + ". " + utils.ReadMissionControlHttpMessage(body)))
    28  	}
    29  
    30  	log.Debug("Mission Control response: " + resp.Status)
    31  	log.Output(clientutils.IndentJson(body))
    32  	return nil
    33  }
    34  
    35  type JpdAddFlags struct {
    36  	MissionControlDetails *config.MissionControlDetails
    37  	JpdConfig             []byte
    38  }