diff --git a/awx/api/views.py b/awx/api/views.py index d575df910c..683b7f9f93 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -1755,7 +1755,14 @@ class SystemJobTemplateLaunch(GenericAPIView): if not request.user.can_access(self.model, 'start', obj): raise PermissionDenied() new_job = obj.create_unified_job() - result = new_job.signal_start() + if 'extra_vars' in request.DATA: + try: + extra_vars = json.loads(request.DATA['extra_vars']) + except Exception: + extra_vars = {} + else: + extra_vars = {} + result = new_job.signal_start(**extra_vars) data = dict(system_job=new_job.id) return Response(data, status=status.HTTP_202_ACCEPTED) diff --git a/awx/main/tasks.py b/awx/main/tasks.py index f9b09ea8e6..fff1209593 100644 --- a/awx/main/tasks.py +++ b/awx/main/tasks.py @@ -1168,7 +1168,7 @@ class RunSystemJob(BaseTask): if 'inventory_updates' in json_vars and json_vars['inventory_updates']: args.extend(['--inventory-updates']) except Exception, e: - pass + logger.error("Failed to parse system job: " + str(e)) return args def build_cwd(self, instance, **kwargs):