@@ -667,27 +667,48 @@ def push_to_jira(obj, *args, **kwargs):
667
667
raise ValueError (msg )
668
668
669
669
if isinstance (obj , Finding ):
670
- finding = obj
671
- if finding .has_jira_issue :
672
- return update_jira_issue_for_finding (finding , * args , ** kwargs )
673
- return add_jira_issue_for_finding (finding , * args , ** kwargs )
674
-
675
- if isinstance (obj , Engagement ):
676
- engagement = obj
677
- if engagement .has_jira_issue :
678
- return update_epic (engagement , * args , ** kwargs )
679
- return add_epic (engagement , * args , ** kwargs )
670
+ return push_finding_to_jira (obj , * args , ** kwargs )
680
671
681
672
if isinstance (obj , Finding_Group ):
682
- group = obj
683
- if group .has_jira_issue :
684
- return update_jira_issue_for_finding_group (group , * args , ** kwargs )
685
- return add_jira_issue_for_finding_group (group , * args , ** kwargs )
673
+ return push_finding_group_to_jira (obj , * args , ** kwargs )
686
674
675
+ if isinstance (obj , Engagement ):
676
+ return push_engagement_to_jira (obj , * args , ** kwargs )
687
677
logger .error ("unsupported object passed to push_to_jira: %s %i %s" , obj .__name__ , obj .id , obj )
688
678
return None
689
679
690
680
681
+ # we need thre separate celery tasks due to the decorators we're using to map to/from ids
682
+ @dojo_model_to_id
683
+ @dojo_async_task
684
+ @app .task
685
+ @dojo_model_from_id
686
+ def push_finding_to_jira (finding , * args , ** kwargs ):
687
+ if finding .has_jira_issue :
688
+ return update_jira_issue (finding , * args , ** kwargs )
689
+ return add_jira_issue (finding , * args , ** kwargs )
690
+
691
+
692
+ @dojo_model_to_id
693
+ @dojo_async_task
694
+ @app .task
695
+ @dojo_model_from_id (model = Finding_Group )
696
+ def push_finding_group_to_jira (finding_group , * args , ** kwargs ):
697
+ if finding_group .has_jira_issue :
698
+ return update_jira_issue (finding_group , * args , ** kwargs )
699
+ return add_jira_issue (finding_group , * args , ** kwargs )
700
+
701
+
702
+ @dojo_model_to_id
703
+ @dojo_async_task
704
+ @app .task
705
+ @dojo_model_from_id (model = Engagement )
706
+ def push_engagement_to_jira (engagement , * args , ** kwargs ):
707
+ if engagement .has_jira_issue :
708
+ return update_epic (engagement , * args , ** kwargs )
709
+ return add_epic (engagement , * args , ** kwargs )
710
+
711
+
691
712
def add_issues_to_epic (jira , obj , epic_id , issue_keys , * , ignore_epics = True ):
692
713
try :
693
714
return jira .add_issues_to_epic (epic_id = epic_id , issue_keys = issue_keys , ignore_epics = ignore_epics )
@@ -713,24 +734,6 @@ def add_issues_to_epic(jira, obj, epic_id, issue_keys, *, ignore_epics=True):
713
734
return False
714
735
715
736
716
- # we need two separate celery tasks due to the decorators we're using to map to/from ids
717
-
718
- @dojo_model_to_id
719
- @dojo_async_task
720
- @app .task
721
- @dojo_model_from_id
722
- def add_jira_issue_for_finding (finding , * args , ** kwargs ):
723
- return add_jira_issue (finding , * args , ** kwargs )
724
-
725
-
726
- @dojo_model_to_id
727
- @dojo_async_task
728
- @app .task
729
- @dojo_model_from_id (model = Finding_Group )
730
- def add_jira_issue_for_finding_group (finding_group , * args , ** kwargs ):
731
- return add_jira_issue (finding_group , * args , ** kwargs )
732
-
733
-
734
737
def prepare_jira_issue_fields (
735
738
project_key ,
736
739
issuetype_name ,
@@ -926,24 +929,6 @@ def failure_to_add_message(message: str, exception: Exception, _: Any) -> bool:
926
929
return True
927
930
928
931
929
- # we need two separate celery tasks due to the decorators we're using to map to/from ids
930
-
931
- @dojo_model_to_id
932
- @dojo_async_task
933
- @app .task
934
- @dojo_model_from_id
935
- def update_jira_issue_for_finding (finding , * args , ** kwargs ):
936
- return update_jira_issue (finding , * args , ** kwargs )
937
-
938
-
939
- @dojo_model_to_id
940
- @dojo_async_task
941
- @app .task
942
- @dojo_model_from_id (model = Finding_Group )
943
- def update_jira_issue_for_finding_group (finding_group , * args , ** kwargs ):
944
- return update_jira_issue (finding_group , * args , ** kwargs )
945
-
946
-
947
932
def update_jira_issue (obj , * args , ** kwargs ):
948
933
def failure_to_update_message (message : str , exception : Exception , obj : Any ) -> bool :
949
934
if exception :
0 commit comments