create release first

This commit is contained in:
Wolfgang Hottgenroth 2021-01-13 18:15:06 +01:00
parent 2e4ae7c984
commit 494a402cdf
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F
3 changed files with 11 additions and 10 deletions

View File

@ -24,6 +24,6 @@ release:
- release - release
script: script:
- zip GitlabReleaseTool.zip gitlabreleaseuploader.py deleterelease.py checksemver.py - zip GitlabReleaseTool.zip gitlabreleaseuploader.py deleterelease.py checksemver.py
- echo python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL -I $CI_SERVER_URL - python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL -I $CI_SERVER_URL
-f GitlabReleaseTool.zip -F info.json -T $CI_COMMIT_SHA -f GitlabReleaseTool.zip -F info.json -T $CI_COMMIT_SHA

View File

@ -102,8 +102,8 @@ if (releaseInfoFilename):
if releaseName == '': if releaseName == '':
raise Exception('No release name given') raise Exception('No release name given')
if (releaseTag == '') and createRelease: if releaseTag == '':
raise Exception('No release tag given but creation of release requested') raise Exception('No release tag given')
if (releaseTagTarget == '') and createReleaseTag: if (releaseTagTarget == '') and createReleaseTag:
raise Exception('No release tag target given but creation of tag requested') raise Exception('No release tag target given but creation of tag requested')
if (releaseDescription == '') and createRelease: if (releaseDescription == '') and createRelease:
@ -149,7 +149,7 @@ if filesToUpload:
# --- create release tag # --- create release tag
if createReleaseTag: if createReleaseTag:
url = ("%s/api/v4//projects/%s/repository/tags" % (instanceUrl, projectId)) url = "%s/api/v4//projects/%s/repository/tags" % (instanceUrl, projectId)
headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"} headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"}
payload = { payload = {
@ -191,7 +191,7 @@ if createRelease:
# --- update release in case of additional description # --- update release in case of additional description
if not createRelease and releaseDescription: if not createRelease and releaseDescription:
# --- get release to fetch existing description # --- get release to fetch existing description
url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseName) url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseTag)
headers = {"PRIVATE-TOKEN": privateToken} headers = {"PRIVATE-TOKEN": privateToken}
if verbose: if verbose:
@ -206,7 +206,7 @@ if not createRelease and releaseDescription:
releaseDescription += existingDescription releaseDescription += existingDescription
# --- update release # --- update release
url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseName) url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseTag)
headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"} headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"}
payload = { payload = {
@ -227,7 +227,7 @@ if not createRelease and releaseDescription:
# --- add assets # --- add assets
# get existing assets # get existing assets
headers = {"PRIVATE-TOKEN": privateToken} headers = {"PRIVATE-TOKEN": privateToken}
url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseName) url = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseTag)
if verbose: if verbose:
print("GET to {}".format(url)) print("GET to {}".format(url))
result = requests.get(url, headers=headers, verify=caBundle) result = requests.get(url, headers=headers, verify=caBundle)
@ -241,7 +241,7 @@ assets.extend(links)
headers = {"PRIVATE-TOKEN": privateToken} headers = {"PRIVATE-TOKEN": privateToken}
for link in links: for link in links:
assetId = link['id'] assetId = link['id']
url = "%s/api/v4/projects/%s/releases/%s/assets/links/%s" % (instanceUrl, projectId, releaseName, assetId) url = "%s/api/v4/projects/%s/releases/%s/assets/links/%s" % (instanceUrl, projectId, releaseTag, assetId)
if verbose: if verbose:
print("DELETE to {}".format(url)) print("DELETE to {}".format(url))
result = requests.delete(url, headers=headers, verify=caBundle) result = requests.delete(url, headers=headers, verify=caBundle)
@ -251,7 +251,7 @@ for link in links:
# create all assets ("existing" and new) # create all assets ("existing" and new)
headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"} headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"}
url = "%s/api/v4/projects/%s/releases/%s/assets/links" % (instanceUrl, projectId, releaseName) url = "%s/api/v4/projects/%s/releases/%s/assets/links" % (instanceUrl, projectId, releaseTag)
for asset in assets: for asset in assets:
if verbose: if verbose:
print("POST to {}".format(url)) print("POST to {}".format(url))

View File

@ -1,5 +1,6 @@
{ {
"releaseTag": "v1.12b", "createRelease": "true",
"releaseTag": "v1.12",
"createReleaseTag": "true", "createReleaseTag": "true",
"releaseName": "updater release", "releaseName": "updater release",
"description": "add option to add files to existing release or extend description of existing release" "description": "add option to add files to existing release or extend description of existing release"