#79: include parent issue link (#80)

* #79: include parent issue link

* just return parent issue key and generate the URL upstairs
diff --git a/migration/src/jira2github_import.py b/migration/src/jira2github_import.py
index eaea420..6e3807e 100644
--- a/migration/src/jira2github_import.py
+++ b/migration/src/jira2github_import.py
@@ -60,7 +60,8 @@
         resolution = extract_resolution(o)
         priority = extract_priority(o)
         vote_count = extract_vote_count(o)
-            
+        parent_issue_key = extract_parent_key(o)
+
         reporter_gh = account_map.get(reporter_name)
         reporter = f"{reporter_dispname} (@{reporter_gh})" if reporter_gh else f"{reporter_dispname}"
         assignee_gh = account_map.get(assignee_name)
@@ -101,7 +102,7 @@
         body += f"""
 
 ---
-### Legacy Jira details
+### Legacy Jira
 
 [{jira_id}]({jira_issue_url(jira_id)}) by {reporter} on {created_datetime.strftime('%b %d %Y')}"""
 
@@ -115,6 +116,9 @@
         elif created_datetime.date() != updated_datetime.date():
             body += f", updated {updated_datetime.strftime('%b %d %Y')}"
 
+        if parent_issue_key:
+            body += f'\nParent: [{parent_issue_key}](https://issues.apache.org/jira/browse/{parent_issue_key})'
+
         if environment:
             body += f'\nEnvironment:\n```\n{environment}\n```\n'
 
diff --git a/migration/src/jira_util.py b/migration/src/jira_util.py
index 551f777..3653347 100644
--- a/migration/src/jira_util.py
+++ b/migration/src/jira_util.py
@@ -83,6 +83,15 @@
     return (name, disp_name)
 
 
+def extract_parent_key(o: dict) -> str:
+    parent = o["fields"].get("parent")
+    if parent:
+        key = parent["key"]
+        if key:
+            return key
+    return None
+
+
 def extract_created(o: dict) -> str:
     return o.get("fields").get("created", "")