From b53239eede758241b6056e802569d0d7c187bec1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Tue, 12 Jun 2018 21:44:59 +0200 Subject: [PATCH] For POST and PUT requests, send data into the request body instead of the URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #22 Signed-off-by: Rémy Jacquin --- update.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/update.py b/update.py index cd8a584..b5a9f01 100755 --- a/update.py +++ b/update.py @@ -69,7 +69,7 @@ for asset in release['assets']: rdockerfile = requests.get('%s/projects/%s/repository/files/Dockerfile/raw?ref=registry'%(GITLAB_URL, GITLAB_PROJECT)) if rdockerfile.status_code != 200: print('Failed to get Dockerfile from %s:'%sys.argv[1]) - print(rdockerfile.json()) + print(rdockerfile.text) exit(1) dockerfile = rdockerfile.text.split("\n") @@ -81,29 +81,34 @@ for index, line in enumerate(dockerfile): dockerfile[index] = "ENV HUGO_SHA %s"%checksum # Update Dockerfile on repository -rupdate = requests.put('%s/projects/%s/repository/files/Dockerfile?branch=registry&content=%s&commit_message=%s&encoding=base64'%( +requestData = { + 'branch': 'registry', + 'content': "\n".join(dockerfile), + 'commit_message': COMMIT_MESSAGE%(release['name'][1:]), +} +rupdate = requests.put('%s/projects/%s/repository/files/Dockerfile'%( GITLAB_URL, GITLAB_PROJECT, - quote(base64.b64encode("\n".join(dockerfile).encode()), safe=''), - quote(COMMIT_MESSAGE%(release['name'][1:]), safe='') -), headers={'Private-Token': GITLAB_TOKEN}) +), data=requestData, headers={'Private-Token': GITLAB_TOKEN}) if rupdate.status_code != 200: print("Failed to update Dockerfile:") - print(rupdate.json()) + print(rupdate.text) exit(1) print('Dockerfile was updated to version %s'%release['name'][1:]) # Create new tag -rtag = requests.post('%s/projects/%s/repository/tags?tag_name=%s&ref=registry&message=%s&release_description=%s'%( +requestData = { + 'tag_name': release['name'][1:], + 'ref': 'registry', + 'message': COMMIT_MESSAGE%(release['name'][1:]), + 'release_description': release['body'], +} +rtag = requests.post('%s/projects/%s/repository/tags'%( GITLAB_URL, - GITLAB_PROJECT, - release['name'][1:], - quote(COMMIT_MESSAGE%(release['name'][1:]), safe=''), - quote(release['body'], safe='') -), headers={'Private-Token': GITLAB_TOKEN}) + GITLAB_PROJECT), data=requestData, headers={'Private-Token': GITLAB_TOKEN}) if rtag.status_code != 201: print('Failed to create tag:') - print(rtag.json()) + print(rtag.text) exit(0) print('Tag %s created'%release['name'][1:]) print('Done !')