in internal/commands/get.go [45:78]
func getRelease(ctx *cli.Context, log logrus.FieldLogger, httpClient gitlab.HTTPClient) error {
projectID := ctx.String(flags.ProjectID)
serverURL := ctx.String(flags.ServerURL)
jobToken := ctx.String(flags.JobToken)
privateToken := ctx.String(flags.PrivateToken)
tagName := ctx.String(flags.TagName)
includeHTML := ctx.Bool(flags.IncludeHTMLDescription)
l := log.WithFields(logrus.Fields{
"command": ctx.Command.Name,
flags.ServerURL: serverURL,
flags.ProjectID: projectID,
flags.TagName: tagName,
flags.IncludeHTMLDescription: includeHTML,
})
l.Info("Getting release")
gitlabClient, err := gitlab.New(serverURL, jobToken, privateToken, projectID, httpClient, log)
if err != nil {
return fmt.Errorf("create GitLab client: %w", err)
}
release, err := gitlabClient.GetRelease(ctx.Context, tagName, includeHTML)
if err != nil {
return fmt.Errorf("get release: %w", err)
}
if err := json.NewEncoder(ctx.App.Writer).Encode(release); err != nil {
return fmt.Errorf("encode release response: %w", err)
}
return nil
}