diff --git a/services/capability/src/capability/server.py b/services/capability/src/capability/server.py index 518baa3b177e67ec7f36bd873c3fbf1fbf9c1532..fd99f58765d56ad91fed55e58d4be1804a8112b5 100644 --- a/services/capability/src/capability/server.py +++ b/services/capability/src/capability/server.py @@ -51,7 +51,7 @@ class CapabilityRestService: def create(self): # create a capability request for this ... request req = self.request.json_body - request = self.request.capabilities.create_request(req["capability"]) + request = self.request.capabilities.create_request(req["capability"], req["args"]) return request @view_config( diff --git a/shared/workspaces/workspaces/capability/helpers.py b/shared/workspaces/workspaces/capability/helpers.py index 33aa82189dd764b6f0a15c82def3e6bd2e1f53d2..13b42bc83259c5145d4715ed57b32e34d5c57755 100644 --- a/shared/workspaces/workspaces/capability/helpers.py +++ b/shared/workspaces/workspaces/capability/helpers.py @@ -114,12 +114,15 @@ class CapabilitySequence(CapabilitySequenceIF): class PrepareAndRunWorkflow(CapabilityStep): def execute(self, engine: CapabilityEngineIF, execution: CapabilityExecutionIF): workflow_name = self.step_value - workflow_args = self.step_args + parameters = execution.capability_request.parameters # FIXME: Add support for files files = [] - if workflow_args is not None: - workflow_args = json.loads(workflow_args) - engine.submit_workflow_request(workflow_name, workflow_args, files) + if parameters is not None: + # convert to json string because json cares about single vs. double quotes. + # DO NOT TAKE THIS OUT! Python will yell at you. + parameters = json.dumps(parameters) + workflow_args = json.loads(parameters) + engine.submit_workflow_request(execution.id, workflow_name, workflow_args, files) class AwaitQa(CapabilityStep):