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