# Is it possible to pass in a parameter into runScript() function?

**URL:** <https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973>\
**Category:** Ignition\
**Tags:** perspective, scripting\
**Created:** [July 5, 2023, 10:37pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973 "2023-07-05T22:37:46Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Visveswaran\_Dharmara](https://avatars.discourse-cdn.com/v4/letter/v/bb73d2/32.png) [@Visveswaran\_Dharmara](https://forum.inductiveautomation.com/u/Visveswaran_Dharmara)\
**Post date:** [July 5, 2023, 10:37pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/1 "2023-07-05T22:37:46Z")

</div>

I have created a script where I have defined the method for converting a string into date. Now, I want to use this script in an expression binding for a label using "runScript()" function. I want to pass the text of this particular label into this runScript as an input, but I am getting an "Error\_ExpressionEval" error. Attached below is the screenshot. Can anyone help in solving this?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/2/a2324a13fdce383508fe38d27cf4a2073ec2d042.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 5, 2023, 10:42pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/2 "2023-07-05T22:42:35Z")

</div>

Hover over the error?

---

<div class="post-metadata">

**Author:** ![Visveswaran\_Dharmara](https://avatars.discourse-cdn.com/v4/letter/v/bb73d2/32.png) [@Visveswaran\_Dharmara](https://forum.inductiveautomation.com/u/Visveswaran_Dharmara)\
**Post date:** [July 5, 2023, 10:44pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/3 "2023-07-05T22:44:28Z")

</div>

Hi, thanks for the reply. If I hover over the error, I am not getting any error message

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 5, 2023, 10:46pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/4 "2023-07-05T22:46:56Z")

</div>

Look at your gateway log to see if anything shows there. If not, consider adding a `try:` -- `except:` block in your called function to capture and log any errors in the script itself.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [July 5, 2023, 11:04pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/5 "2023-07-05T23:04:55Z")

</div>

It might be too late now, but I'd also suggest to have a look at the Python naming conventions [PEP 8 – Style Guide for Python Code | peps.python.org](https://peps.python.org/pep-0008/)  
Generally:

- classes use `PascalCase`
- functions, variables, and library names use `snake_case`
- constants defined at the top of script libraries should use `ALL_CAPS` (and should never be modified from their init value)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 5, 2023, 11:08pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/6 "2023-07-05T23:08:47Z")

</div>

> [@nminchin](#):
>
> use snake\_case

jython is so dominated by the JVM it sits in that I prefer java's camelCase for functions, methods, variables, and libraries.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [July 6, 2023, 12:00am UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/7 "2023-07-06T00:00:48Z")

</div>

Wouldn't this create an infinite loop since you're passing the text value of this binding into itself as a parameter of your runScript? Are you intending to use a different value from some other component to pass into your script instead?

---

<div class="post-metadata">

**Author:** ![nicholas.robinson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nicholas.robinson/32/22188_2.png) [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Post date:** [July 6, 2023, 12:34am UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/8 "2023-07-06T00:34:01Z")

</div>

@Visveswaran_Dharmara the answer to your question is yes you can pass in parameters

as a test, I made this quick function:

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/8/8878249c31ac662993197706562d3aa5c20598ca.png)

Then in a perspective view custom property binding I did this:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/6/a6399b72d255938ec53c6f51f0a40b0e524945eb.png)

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/5/65651aec34abe01e54db989fe3b605b8899b0fab.png)

I would suggest you look at your actual function definition and make sure the issue is not there.

RE: style

I'm in full agreement with @pturmel there is so much in Ignition that is built on java that you cannot control so `camelCase` is the way to go to avoid having a messy mix.

Cheers,

Nick

---

<div class="post-metadata">

**Author:** ![Brian\_Stilson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/brian_stilson/32/73410_2.png) [@Brian\_Stilson](https://forum.inductiveautomation.com/u/Brian_Stilson)\
**Post date:** [January 16, 2026, 12:21pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/9 "2026-01-16T12:21:29Z")

</div>

EDIT: I figured it out.

Bottom line, there is something wrong with your script, but for some reason, the error tracing when you use the runScript expression isn’t very good. I had this same issue, but what helped me was to temporarily change the binding to a script binding and invoke my function from there. When I did that, _then_ I got more specific information as far as what was wrong with my script. Once I fixed my script, I changed the binding back to an expression transform (in my case it was a map transform with expression outputs, but same difference), and then the runScript expression worked.

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [January 16, 2026, 6:19pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/10 "2026-01-16T18:19:08Z")

</div>

You have to pass the function call in as a string. So make the string first using the parameter and then pass the entire function call to `runScript()`.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 16, 2026, 6:23pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/11 "2026-01-16T18:23:56Z")

</div>

> [@amarks](#):
>
> pass the entire function call to `runScript()`.

Don't do this. The first argument to `runScript()` should always be a **constant**. The execution time of `runScript()` **explodes** if this string changes from execution to execution. (Not to mention the quoting trials when needing to pass non-numeric values.)

---

<div class="post-metadata">

**Author:** ![amarks](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/amarks/32/45610_2.png) [@amarks](https://forum.inductiveautomation.com/u/amarks)\
**Post date:** [January 16, 2026, 7:30pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-pass-in-a-parameter-into-runscript-function/75973/12 "2026-01-16T19:30:53Z")

</div>

I guess I’m not familiar enough with `runScript` to know how to use it outside of just using a (constant) string. That’s what I always do. I had assumed passing the parameters as strings would be the same. Listen to Phil.
