run | MuleSoft Documentation
# run
## run(fileToExecute: String, fs: Dictionary<String>, readerInputs: Dictionary<ReaderInput> = {}, inputValues: Dictionary<Any> = {}, configuration: RuntimeExecutionConfiguration = {}): RunResult
Runs the input script under the provided context and executes the script in the current runtime.
_Experimental:_ This function is an experimental feature that is subject to change or removal from future versions of DataWeave.
### Parameters
Name | Description  
---|---  
`fileToExecute` | Name of the file to execute.  
File system that contains the file to execute.  
`readerInput` | Inputs to read and bind to the execution.  
`inputValues` | Inputs to bind directly to the execution.  
`configuration` | The runtime configuration.  
### Example
This example shows how `run` behaves with different inputs.
#### Source
```
import * from dw::Runtime
var jsonValue = {
 value: '{"name": "Mariano"}' as Binary {encoding: "UTF-8"},
 encoding: "UTF-8",
 properties: {},
 mimeType: "application/json"
}
var jsonValue2 = {
 value: '{"name": "Mariano", "lastName": "achaval"}' as Binary {encoding: "UTF-8"},
 encoding: "UTF-8",
 properties: {},
 mimeType: "application/json"
}
var invalidJsonValue = {
 value: '{"name": "Mariano' as Binary {encoding: "UTF-8"},
 encoding: "UTF-8",
 properties: {},
 mimeType: "application/json"
}
var Utils = "fun sum(a,b) = a +b"
---
{
 "execute_ok" : run("main.dwl", {"main.dwl": "{a: 1}"}, {"payload": jsonValue }),
 "logs" : do {
  var execResult = run("main.dwl", {"main.dwl": "{a: log(1)}"}, {"payload": jsonValue })
  ---
  {
    m: execResult.logs.message,
    l: execResult.logs.level
  }
 },
 "grant" : run("main.dwl", {"main.dwl": "{a: readUrl(`http://google.com`)}"}, {"payload": jsonValue }, { securityManager: (grant, args) -> false }),
 "library" : run("main.dwl", {"main.dwl": "Utils::sum(1,2)", "/Utils.dwl": Utils }, {"payload": jsonValue }),
 "timeout" : run("main.dwl", {"main.dwl": "(1 to 1000000000000) map \$ + 1" }, {"payload": jsonValue }, {timeOut: 2}).success,
 "execFail" : run("main.dwl", {"main.dwl": "dw::Runtime::fail('My Bad')" }, {"payload": jsonValue }),
 "parseFail" : run("main.dwl", {"main.dwl": "(1 + " }, {"payload": jsonValue }),
 "writerFail" : run("main.dwl", {"main.dwl": "output application/xml --- 2" }, {"payload": jsonValue }),
 "readerFail" : run("main.dwl", {"main.dwl": "output application/xml --- payload" }, {"payload": invalidJsonValue }),
 "defaultOutput" : run("main.dwl", {"main.dwl": "payload" }, {"payload": jsonValue2}, {outputMimeType: "application/csv", writerProperties: {"separator": "|"}}),
}
```

#### Output
```
{
 "execute_ok": {
  "success": true,
  "value": "{\n a: 1\n}",
  "mimeType": "application/dw",
  "encoding": "UTF-8",
  "logs": [
  ]
 },
 "logs": {
  "m": [
   "1"
  ],
  "l": [
   "INFO"
  ]
 },
 "grant": {
  "success": false,
  "message": "The given required permissions: `Resource` are not being granted for this execution.\nTrace:\n at readUrl (Unknown)\n at main::main (line: 1, column: 5)",
  "location": {
   "start": {
    "index": 0,
    "line": 0,
    "column": 0
   },
   "end": {
    "index": 0,
    "line": 0,
    "column": 0
   },
   "content": "Unknown location"
  },
  "stack": [
   "readUrl (anonymous:0:0)",
   "main (main:1:5)"
  ],
  "logs": [
  ]
 },
 "library": {
  "success": true,
  "value": "3",
  "mimeType": "application/dw",
  "encoding": "UTF-8",
  "logs": [
  ]
 },
 "timeout": false,
 "execFail": {
  "success": false,
  "message": "My Bad\nTrace:\n at fail (Unknown)\n at main::main (line: 1, column: 1)",
  "location": {
   "start": {
    "index": 0,
    "line": 0,
    "column": 0
   },
   "end": {
    "index": 0,
    "line": 0,
    "column": 0
   },
   "content": "Unknown location"
  },
  "stack": [
   "fail (anonymous:0:0)",
   "main (main:1:1)"
  ],
  "logs": [
  ]
 },
 "parseFail": {
  "success": false,
  "message": "Invalid input \"1 + \", expected parameter or parenEnd (line 1, column 2):\n\n\n1| (1 + \n  ^^^^\nLocation:\nmain (line: 1, column:2)",
  "location": {
   "start": {
    "index": 0,
    "line": 1,
    "column": 2
   },
   "end": {
    "index": 4,
    "line": 1,
    "column": 6
   },
   "content": "\n1| (1 + \n  ^^^^"
  },
  "logs": [
  ]
 },
 "writerFail": {
  "success": false,
  "message": "Trying to output non-whitespace characters outside main element tree (in prolog or epilog), while writing Xml at .",
  "location": {
   "content": ""
  },
  "stack": [
  ],
  "logs": [
  ]
 },
 "readerFail": {
  "success": false,
  "message": "Unexpected end-of-input at payload@[1:18] (line:column), expected '\"', while reading `payload` as Json.\n \n1| {\"name\": \"Mariano\n          ^",
  "location": {
   "content": "\n1| {\"name\": \"Mariano\n          ^"
  },
  "stack": [
  ],
  "logs": [
  ]
 },
 "defaultOutput": {
  "success": true,
  "value": "name|lastName\nMariano|achaval\n",
  "mimeType": "application/csv",
  "encoding": "UTF-8",
  "logs": [
  ]
 }
}
```