Hello.
I was viewing the documentation for system.security.getUsername()
and saw one of the examples called this function in the Startup script. I tried using it in Update (when a user saves the designer) but I get the following error in the logs.
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last): File "<[] Update Script>", line 4, in AttributeError: 'com.inductiveautomation.ignition.common.script.Imm' object has no attribute 'getUsername'
at org.python.core.Py.AttributeError(Py.java:207)
at org.python.core.PyObject.noAttributeError(PyObject.java:1032)
at org.python.core.PyObject.__getattr__(PyObject.java:1027)
at org.python.pycode._pyx10.f$0(<[] Update Script>:10)
at org.python.pycode._pyx10.call_function(<[] Update Script>)
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1614)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:778)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runCode(ProjectScriptLifecycle.java:678)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:749)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runCode(ProjectScriptLifecycle.java:669)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:711)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runCode(ProjectScriptLifecycle.java:650)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle.runUpdateScript(ProjectScriptLifecycle.java:360)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$1.projectUpdated(ProjectScriptLifecycle.java:110)
at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.doProjectUpdatedNotification(BaseProjectManager.java:990)
at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.lambda$fireProjectUpdated$24(BaseProjectManager.java:940)
at com.inductiveautomation.ignition.common.util.ExecutionQueue$PollAndExecute.run(ExecutionQueue.java:204)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.python.core.PyException: Traceback (most recent call last): File "<[] Update Script>", line 4, in AttributeError: 'com.inductiveautomation.ignition.common.script.Imm' object has no attribute 'getUsername'
Is there something Im doing wrong? Is there a different way of getting the username of the user who saved their environment?