diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 986f5c8c1e..3012c722c6 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -2452,6 +2452,8 @@ class JobEventSerializer(BaseSerializer): try: d['job']['job_template_id'] = obj.job.job_template.id d['job']['job_template_name'] = obj.job.job_template.name + d['job']['spawned_by_workflow'] = obj.job.spawned_by_workflow + d['job']['workflow_job_id'] = obj.job.workflow_job_id except (KeyError, AttributeError): pass return d diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index b75b100d22..c373db5adc 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -764,7 +764,7 @@ class UnifiedJob(PolymorphicModel, PasswordFieldsModel, CommonModelNameNotUnique @property def workflow_job_id(self): - if self.spawned_by_workflow(): + if self.spawned_by_workflow: return self.unified_job_node.workflow_job.pk return None diff --git a/awx/main/signals.py b/awx/main/signals.py index 7a06934d27..cb0b51273c 100644 --- a/awx/main/signals.py +++ b/awx/main/signals.py @@ -35,7 +35,6 @@ logger = logging.getLogger('awx.main.signals') def emit_job_event_detail(sender, **kwargs): instance = kwargs['instance'] created = kwargs['created'] - print("before created job_event_detail") if created: event_serialized = JobEventSerializer(instance).data event_serialized['id'] = instance.id @@ -45,6 +44,10 @@ def emit_job_event_detail(sender, **kwargs): event_serialized["group_name"] = "job_events" emit_channel_notification('job_events-' + str(instance.job.id), event_serialized) + if instance.job.spawned_by_workflow: + event_serialized['group_name'] = "workflow_events" + emit_channel_notification('workflow_events-' + str(instance.job.workflow_job_id), event_serialized) + def emit_ad_hoc_command_event_detail(sender, **kwargs): instance = kwargs['instance'] created = kwargs['created']