import os
import jira_ticket

fix_version_attached = False
ticket_have_change_log_description = False
ticket_have_semver_level = False
ticket_id = os.getenv('JIRA_TICKET')
print(f"ticket id: {ticket_id}")
issue = jira_ticket.get_jira_ticket_info(ticket_id)
if not issue:
    print(f"ERROR - failed to get issue info: {ticket_id}")
    exit(1)
if issue.fields.fixVersions:
    fix_version_attached = True
if issue.fields.customfield_10097:
    ticket_have_semver_level = True
if issue.fields.changelog_description:
    ticket_have_change_log_description = True

if fix_version_attached and ticket_have_change_log_description and ticket_have_semver_level:
    exit(0)
error_message = ""
if not fix_version_attached:
    error_message += "there is no fixVersion attached to the Jira ticket. NOT allowed\n"
if not ticket_have_change_log_description:
    error_message += f"Jira ticket {ticket_id} has no changelog description. NOT allowed\n"
if not ticket_have_semver_level:
    error_message += f"Jira ticket {ticket_id} doesn't have semver level attached"

print(error_message)
os.system(f'''echo ":stop_sign: ERROR - {error_message}" >> $GITHUB_STEP_SUMMARY''')
exit(1)
