When using curl on the command line on Linux some Autosys API calls work as expected and others do not.
A working curl call:# autorep -g MyGlobalVariableGlobal Name Value Last Changed________________________________________________________________________________MyGlobalVariable GrandCentral 02/11/2021 15:43:14# curl -k -X GET --user ${user} https:/<PrimaryScheduler>:<AppPort>/AEWS/gvar/MyGlobalVariable -H "Content-Type: application/json" | json_pp % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 182 0 182 0 0 71 0 --:--:-- 0:00:02 --:--:-- 71{ "value" : "GrandCentral", "updateTime" : "2021-02-11T20:43:14+0000", "self" : { "@href" : "https://<PrimaryScheduler>:<AppPort>/AEWS/gvar/MyGlobalVariable", "@rel" : "self" }, "name" : "MyGlobalVariable"}
Not working CURL call:# curl -k -X POST --user ${user} https://<PrimaryScheduler>:<AppPort>/AEWS/event/set-gvar/MyGlobalVariable --data {"gvarValue":"Wednesday"} -H "Content-Type: application/json"# autorep -g MyGlobalVariableGlobal Name Value Last Changed___________________________________________________________________________MyGlobalVariable GrandCentral 02/11/2021 15:43:14
Autosys 12.x
Linux
The problem is how Linux deals with double quotes on the command line interface
Double quotes must be escaped.
Example:
Testing for value:# autorep -g MyTESTVariableCAUAJM_E_50182 Invalid Global Variable Name: MyTESTVariable
Rest API call using CURL:# curl -k -X POST --user ${user} https://<PrimaryScheduler>:<AppPort>/AEWS/event/set-gvar/MyTESTVariable -d {\"gvarValue\":\"NewVariable\"} -H "Content-Type: application/json"
Validating new value:# autorep -g MyTESTVariableGlobal Name Value Last Changed_______________________________________________________________MyTESTVariable NewVariable 12/11/2024 15:49:27