Skip to content

Commit

Permalink
tests: improved maintenance script
Browse files Browse the repository at this point in the history
Change-Id: I3d9388002961e22e7b67df49703a38249be857a1
  • Loading branch information
ssbarnea committed Oct 14, 2019
1 parent f3a91a5 commit 477eb91
Showing 1 changed file with 58 additions and 2 deletions.
60 changes: 58 additions & 2 deletions examples/maintenance.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@
from __future__ import unicode_literals
import os
from jira import Role, Issue, JIRA, JIRAError, Project # noqa
import logging

import json


logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger("requests").setLevel(logging.INFO)
logging.getLogger("urllib3").setLevel(logging.INFO)
logging.getLogger("jira").setLevel(logging.DEBUG)

CI_JIRA_URL = os.environ["CI_JIRA_URL"]
CI_JIRA_ADMIN = os.environ["CI_JIRA_ADMIN"]
Expand All @@ -22,9 +30,57 @@
async_workers=20,
)

logging.info("Running maintenance as %s", j.current_user())

for p in j.projects():
print(p)
logging.info("Deleting project %s", p)
try:
j.delete_project(p)
except Exception as e:
print(e)
logging.error(e)

for s in j.permissionschemes():
if " for Project" in s["name"]:
logging.info("Deleting permission scheme: %s" % s["name"])
try:
j.delete_permissionscheme(s["id"])
except Exception as e:
logging.error(e.text)
else:
logging.info("Permission scheme: %s" % s["name"])

for s in j.issuesecurityschemes():
if " for Project" in s["name"]:
logging.info("Deleting issue security scheme: %s", s["name"])
j.delete_permissionscheme(s["id"])
else:
logging.error("Issue security scheme: %s" % s["name"])

for s in j.projectcategories():
# if ' for Project' in s['name']:
# print("Deleting issue security scheme: %s" % s['name'])
# # j.delete_permissionscheme(s['id'])
# else:
logging.info("Project category: %s" % s["name"])

for s in j.avatars("project"):
logging.info("Avatar project: %s", s)

# disabled until Atlassian implements DELETE verb
# for s in j.screens():
# if s['id'] >= 1000:
# try:
# logging.info("Deleting screen: %s" % s['name'])
# j.delete_screen(s['id'])
# except Exception as e:
# logging.error(e)
# else:
# logging.error(s)

for s in j.notificationschemes():
logging.info("NotificationScheme: %s", s)

# TODO(ssbarnea): "Default Issue Security Scheme"

for t in j.templates():
logging.info("ProjectTemplate: %s", json.dumps(t, indent=4, sort_keys=True))

0 comments on commit 477eb91

Please sign in to comment.