diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4a361b..4bac8b1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,6 +23,7 @@ release: only: - release script: + - zip GitlabReleaseTool.zip gitlabreleaseuploader.py deleterelease.py - python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL - -f gitlabreleaseuploader.py -F info.json -T $CI_COMMIT_REF_NAME + -f GitlabReleaseTool.zip -F info.json -T $CI_COMMIT_REF_NAME diff --git a/deleterelease.py b/deleterelease.py new file mode 100644 index 0000000..2710ca2 --- /dev/null +++ b/deleterelease.py @@ -0,0 +1,58 @@ +#!/usr/bin/python + +import requests +import json +import argparse +import sys + + +parser = argparse.ArgumentParser(description='Gitlab Release Deleter') +parser.add_argument('--privateToken', '-p', + help='Private token to access Gitlab', required=True) +parser.add_argument('--projectId', '-i', + help='ProjectID of the related project', required=True) +parser.add_argument('--releaseTag', '-t', + help='Tag of the release in the repo', + required=True, + default='') +parser.add_argument('--instanceUrl', '-I', + help='URL of your gitlab instance', required=False, + default='https://gitlab.com') +parser.add_argument('--verbose', '-v', + help='verbose output', + required=False, + action='store_true', + default=False) +parser.add_argument('--insecure', + help='insecure ssl connect', + required=False, + action='store_true', + default=False) +args = parser.parse_args() + +privateToken = args.privateToken +projectId = args.projectId +releaseTag = args.releaseTag +instanceUrl = args.instanceUrl +verbose = args.verbose +insecure = args.insecure + + +# --- delete release +deleteReleaseUrl = "%s/api/v4/projects/%s/releases/%s" % (instanceUrl, projectId, releaseTag) +headers = {"PRIVATE-TOKEN": privateToken, "Content-Type": "application/json"} + +if verbose: + print("URL: %s" % deleteReleaseUrl) + +deleteReleaseResult = requests.delete(deleteReleaseUrl, headers=headers, verify=(not insecure)) + +if deleteReleaseResult.status_code != 200: + print(deleteReleaseResult) + print(deleteReleaseResult.text) + raise Exception('Unable to delete release') + +if verbose: + print(deleteReleaseResult) + print(deleteReleaseResult.text) +print('Release successfully delete') diff --git a/info.json b/info.json index b27e7a3..72a3340 100644 --- a/info.json +++ b/info.json @@ -1,7 +1,7 @@ { - "releaseTag": "v1.6", + "releaseTag": "v1.7", "createReleaseTag": "true", - "releaseName": "Seventh release of the uploader", - "description": "Work on readme and change of CI script" + "releaseName": "Delete Release supporting release", + "description": "Separate tool to delete releases added" }