github.com/jfrog/jfrog-cli-core/v2@v2.51.0/missioncontrol/commands/jpdadd.go (about)

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