This repository has been archived on 2024-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
gitlabreleaseuploader/deleterelease.py

67 lines
2.1 KiB
Python
Raw Normal View History

2019-07-16 15:32:20 +02:00
#!/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)
2020-02-28 19:34:31 +01:00
parser.add_argument('--caBundle', '-B',
help='File with the CA certificates to trust', required=False,
default='/etc/ssl/certs/ca-certificates.crt')
2020-03-17 14:47:07 +00:00
parser.add_argument('--insecure',
help='insecure ssl connect',
required=False,
action='store_true',
default=False)
2020-02-28 19:34:31 +01:00
2019-07-16 15:32:20 +02:00
args = parser.parse_args()
privateToken = args.privateToken
projectId = args.projectId
releaseTag = args.releaseTag
instanceUrl = args.instanceUrl
verbose = args.verbose
2020-02-28 19:34:31 +01:00
caBundle = args.caBundle
2020-03-17 15:06:10 +00:00
insecure = args.insecure
2020-02-28 19:34:31 +01:00
2019-07-16 15:32:20 +02:00
# --- 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)
2020-03-17 14:47:07 +00:00
if insecure:
2020-03-17 15:17:34 +00:00
caBundle = (False)
2020-03-17 14:47:07 +00:00
2020-02-28 19:34:31 +01:00
deleteReleaseResult = requests.delete(deleteReleaseUrl, headers=headers, verify=caBundle)
2019-07-16 15:32:20 +02:00
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')