func newUpdateReleaseReq()

in internal/commands/update.go [95:122]


func newUpdateReleaseReq(ctx *cli.Context, log logrus.FieldLogger) (*gitlab.UpdateReleaseRequest, error) {
	description := ctx.String(flags.Description)
	releasedAt := ctx.String(flags.ReleasedAt)

	descriptionString, err := getDescription(description, log)
	if err != nil {
		return nil, err
	}

	request := &gitlab.UpdateReleaseRequest{
		ID:          ctx.String(flags.ProjectID),
		Name:        ctx.String(flags.Name),
		Description: descriptionString,
		TagName:     ctx.String(flags.TagName),
		Milestones:  ctx.StringSlice(flags.Milestone),
	}

	if releasedAt != "" {
		timeReleasedAt, err := gitlab.ParseDateTime(releasedAt)
		if err != nil {
			return nil, fmt.Errorf("parse released-at: %w", err)
		}

		request.ReleasedAt = &timeReleasedAt
	}

	return request, nil
}