fix(gitlab): fix broken request on release creation

This commit is contained in:
Nightapes
2019-09-17 21:01:05 +02:00
parent 3eb13972ec
commit 4379551982
3 changed files with 9 additions and 10 deletions

View File

@@ -42,8 +42,9 @@ func New(config *config.GitLabProvider) (*Client, error) {
tokenHeader := util.NewAddHeaderTransport(nil, "PRIVATE-TOKEN", accessToken) tokenHeader := util.NewAddHeaderTransport(nil, "PRIVATE-TOKEN", accessToken)
acceptHeader := util.NewAddHeaderTransport(tokenHeader, "Accept", "application/json") acceptHeader := util.NewAddHeaderTransport(tokenHeader, "Accept", "application/json")
contentHeader := util.NewAddHeaderTransport(acceptHeader, "Content-Type", "application/json")
httpClient := &http.Client{ httpClient := &http.Client{
Transport: acceptHeader, Transport: contentHeader,
Timeout: time.Second * 60, Timeout: time.Second * 60,
} }
@@ -97,7 +98,7 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
g.Release = tag g.Release = tag
g.log.Infof("create release with version %s", tag) g.log.Infof("create release with version %s", tag)
url := fmt.Sprintf("%s/projects/%s/releases", g.apiURL, util.PathEscape(g.config.Repo)) url := fmt.Sprintf("%s/projects/%s/releases", g.apiURL, util.PathEscape(g.config.Repo))
g.log.Infof("Send release to %s", url) g.log.Infof("Send release to %s", url)
bodyBytes, err := json.Marshal(Release{ bodyBytes, err := json.Marshal(Release{
TagName: tag, TagName: tag,
@@ -109,6 +110,8 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
return err return err
} }
g.log.Tracef("Send release config %s", bodyBytes)
req, err := http.NewRequest("POST", url, bytes.NewReader(bodyBytes)) req, err := http.NewRequest("POST", url, bytes.NewReader(bodyBytes))
if err != nil { if err != nil {
return fmt.Errorf("could not create request: %s", err.Error()) return fmt.Errorf("could not create request: %s", err.Error())
@@ -124,7 +127,7 @@ func (g *Client) CreateRelease(releaseVersion *shared.ReleaseVersion, generatedC
return err return err
} }
g.log.Infof("Crated release") g.log.Infof("Created release")
return nil return nil
} }

View File

@@ -13,7 +13,6 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
//"github.com/Nightapes/go-semantic-release/internal/releaser/util"
"github.com/Nightapes/go-semantic-release/internal/releaser/gitlab" "github.com/Nightapes/go-semantic-release/internal/releaser/gitlab"
"github.com/Nightapes/go-semantic-release/internal/shared" "github.com/Nightapes/go-semantic-release/internal/shared"
"github.com/Nightapes/go-semantic-release/pkg/config" "github.com/Nightapes/go-semantic-release/pkg/config"
@@ -109,7 +108,7 @@ func TestCreateRelease(t *testing.T) {
}, },
responseBody: "{}", responseBody: "{}",
responseCode: 200, responseCode: 200,
requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content","assets":{"links":null}}`, requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content"}`,
valid: true, valid: true,
}, },
{ {
@@ -133,7 +132,7 @@ func TestCreateRelease(t *testing.T) {
}, },
responseBody: "{}", responseBody: "{}",
responseCode: 500, responseCode: 500,
requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content","assets":{"links":null}}`, requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content"}`,
valid: false, valid: false,
}, },
{ {
@@ -158,7 +157,7 @@ func TestCreateRelease(t *testing.T) {
}, },
responseCode: 400, responseCode: 400,
responseBody: "{}", responseBody: "{}",
requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content","assets":{"links":null}}`, requestBody: `{"tag_name":"2.0.0","name":"title","ref":"master","description":"content"}`,
valid: false, valid: false,
}, },
} }

View File

@@ -6,9 +6,6 @@ type Release struct {
Name string `json:"name"` Name string `json:"name"`
Ref string `json:"ref"` Ref string `json:"ref"`
Description string `json:"description,omitempty"` Description string `json:"description,omitempty"`
Assets struct {
Links []*ReleaseLink `json:"links"`
} `json:"assets"`
} }
// ReleaseLink struct // ReleaseLink struct