Documenting the steps required to use a third party tool, CURL, to make Autosys REST API calls.
Autosys 12.x
Below are the examples in the documentation that can be used to create a curl command.
-- request --GET https://WSServer:9443/AEWS/job/sleep1 -- response --200 OKServer: Apache-Coyote/1.1Cache-Control: privateExpires: Wed, 31 Dec 1969 19:00:00 ESTContent-Type: application/jsonTransfer-Encoding: chunkedContent-Encoding: gzipVary: Accept-EncodingDate: Wed, 01 Feb 2012 20:27:14 GMT{"name":"sleep1","jobType":"CMD","machine":"WSServer","self":{"@rel":"self","@href":"https://WSServer:9443/AEWS/job/sleep1"},"status":"4"}
curl -v -k --user "ejmcommander:ejmcommander" -X GET https://WSServer.example.com :9443/AEWS/job/mark1
example job definition that shows service desk configurations:curl -v -k --user "ejmcommander:ejmcommander" -X GET https://WSServer.example.com :9443/AEWS/jil/job?name=mark1
* Server auth using Basic with user 'ejmcommander'> GET /AEWS/jil/job?name=mark1 HTTP/1.1> Host: WSServer.example.com :9443> Authorization: Basic ZWptY29tbWFuZGVyOmVqbWNvbW1hbmRlcg==> User-Agent: curl/7.61.1> Accept: */*> < HTTP/1.1 200 < Cache-Control: private< Expires: Thu, 01 Jan 1970 00:00:00 GMT< Content-Type: text/plain< Transfer-Encoding: chunked< Date: Tue, 25 Oct 2022 19:19:21 GMT<
/* ----------------- mark1 ----------------- */
insert_job: mark1 job_type: CMD command: echo 123machine: WSServer.example.com owner: [email protected] permission: date_conditions: 0std_out_file: "/tmp/$AUTO_JOB_NAME.$AUTORUN.out"std_err_file: "/tmp/$AUTO_JOB_NAME.$AUTORUN.err"alarm_if_fail: 1alarm_if_terminated: 1service_desk: 1svcdesk_desc: "test"svcdesk_pri: 5svcdesk_imp: 4svcdesk_sev: 4* Connection #0 to host WSServer.example.com left intact
You can pull the job information using a filter on box name
curl -v -k --user "ejmcommander:ejmcommander" -X GET https://WSServer.example.com :9443/AEWS/job?filter=boxname==Mark_Box
Sample response{ "job": [{ "boxName": "Mark_Box", "name": "mark1", "jobType": "CMD", "machine": "WSServer.example.com ", "self": { "@href": "https://WSServer.example.com :9443/AEWS/job/mark1", "@rel": "self" }, "status": "4" }, { "boxName": "Mark_Box", "name": "mark2", "jobType": "CMD", "machine": "WSServer.example.com ", "self": { "@href": "https://WSServer.example.com :9443/AEWS/job/mark2", "@rel": "self" }, "status": "4" }, { "boxName": "Mark_Box", "name": "mark3", "jobType": "CMD", "machine": "WSServer.example.com ", "self": { "@href": "https://WSServer.example.com :9443/AEWS/job/mark3", "@rel": "self" }, "status": "4" } ], "self": { "@href": "https://WSServer.example.com :9443/AEWS/job?filter=boxname==Mark_Box", "@rel": "self" }}
Below is an example of pulling a list of jobs that all have the service_desk field set to true or 1.curl -v -k --user "ejmcommander:ejmcommander" -X GET https://WSServer.example.com :9443/AEWS/jil/job?name=ALL | egrep "insert_job|service_desk: 1" | grep -B 1 "service_desk: 1" | grep insert_job | awk '{ print $2 }' | xargs -n 1 autorep -q -J
This same thing can be done with the autorep command as well.autorep -J % -q | egrep "insert_job|service_desk: 1" | grep -B 1 "service_desk: 1" | grep insert_job | awk '{ print $2 }'| xargs -n 1 autorep -q -J