mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-25 09:21:48 -05:00
Workflow status original commit
This commit is contained in:
@@ -60,6 +60,10 @@ class WorkflowNodeBase(CreatedModifiedModel):
|
||||
default=None,
|
||||
on_delete=models.SET_NULL,
|
||||
)
|
||||
fail_on_job_failure = models.BooleanField(
|
||||
blank=True,
|
||||
default=True,
|
||||
)
|
||||
# Prompting-related fields
|
||||
inventory = models.ForeignKey(
|
||||
'Inventory',
|
||||
@@ -93,6 +97,22 @@ class WorkflowNodeBase(CreatedModifiedModel):
|
||||
data[fd] = self.char_prompts[fd]
|
||||
return data
|
||||
|
||||
@property
|
||||
def job_type(self):
|
||||
return self.char_prompts.get('job_type', None)
|
||||
|
||||
@property
|
||||
def job_tags(self):
|
||||
return self.char_prompts.get('job_tags', None)
|
||||
|
||||
@property
|
||||
def skip_tags(self):
|
||||
return self.char_prompts.get('skip_tags', None)
|
||||
|
||||
@property
|
||||
def limit(self):
|
||||
return self.char_prompts.get('limit', None)
|
||||
|
||||
def get_prompts_warnings(self):
|
||||
ujt_obj = self.unified_job_template
|
||||
if ujt_obj is None:
|
||||
@@ -137,7 +157,7 @@ class WorkflowNodeBase(CreatedModifiedModel):
|
||||
Return field names that should be copied from template node to job node.
|
||||
'''
|
||||
return ['workflow_job', 'unified_job_template',
|
||||
'inventory', 'credential', 'char_prompts']
|
||||
'inventory', 'credential', 'char_prompts', 'fail_on_job_failure']
|
||||
|
||||
class WorkflowJobTemplateNode(WorkflowNodeBase):
|
||||
# TODO: Ensure the API forces workflow_job_template being set
|
||||
@@ -383,6 +403,9 @@ class WorkflowJob(UnifiedJob, WorkflowJobOptions, JobNotificationMixin, Workflow
|
||||
from awx.main.tasks import RunWorkflowJob
|
||||
return RunWorkflowJob
|
||||
|
||||
def _has_failed(self):
|
||||
return self.workflow_job_nodes.filter(job__status='failed', fail_on_job_failure=True).exists()
|
||||
|
||||
def socketio_emit_data(self):
|
||||
return {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user