Release Approval
Release requests must be approved by the stakeholders who are impacted when the release is implemented. Release requests go through a series of approval states and approvers who update their approval status based on the approval rule set by the administrators.
Attributes
id (long)
Denotes the unique ID of the approval
comments (string)
Comments given on the approval by the approver [Max-length : 250]
approver (user)
Approver of the approval request
original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available
xpath (JSONObject)
Organisational Roles configured for the approval
show attribute
path (string)
The path of the organisational role to be configured for the approval
display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.
approval_level (approval_level)read only
Approval level to which the approval is associated
More Attributes Expand all
Get Release Approval
This operation helps to Get Approval for a Release
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}
Attributes
id (long)
Denotes the unique ID of the approval
comments (string)
Comments given on the approval by the approver [Max-length : 250]
approver (user)
Approver of the approval request
original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available
xpath (JSONObject)
Organisational Roles configured for the approval
show attribute
path (string)
The path of the organisational role to be configured for the approval
display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.
approval_level (approval_level)read only
Approval level to which the approval is associated
More Attributes Expand all
$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
response = invokeurl
[
url: url
type: GET
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$response = Invoke-RestMethod -Uri $url -Method get -Headers $headers
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
httprequest = Request(url, headers=headers)
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"status": "success"
},
"approval": {
"approver": {
"email_id": "test@test.com",
"is_technician": true,
"sms_mail": null,
"mobile": null,
"last_name": "Technician",
"user_scope": "0",
"phone": "430430430",
"name": "Test Technician",
"id": "152000000031041",
"photo_url": "https://contacts.zoho.com/file?sample",
"is_vip_user": false,
"department": null,
"first_name": "Test",
"job_title": null
},
"xpath": {
"path": null
},
"comments": null,
"original_approver": null,
"approval_level": {
"created_time": {
"display_value": "Dec 29, 2021 03:47 PM",
"value": "1640773057310"
},
"level": 1,
"associated_entity": "release",
"release": {
"id": "152000015307587"
},
"id": "152000015311082",
"created_by": {
"id": "152000000006619"
},
"status": {
"id": "152000000008475"
}
},
"id": "152000015311086",
"sent_on": {
"display_value": "Dec 29, 2021 03:47 PM",
"value": "1640773062574"
},
"status": {
"name": "Approved",
"id": "152000000008475"
},
"action_taken_on": {
"display_value": "Dec 30, 2021 05:39 PM",
"value": "1640866172122"
}
}
}
Get List Release Approval
This operation helps to get a List of Release Approvals
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals
Attributes
id (long)
Denotes the unique ID of the approval
comments (string)
Comments given on the approval by the approver [Max-length : 250]
approver (user)
Approver of the approval request
original_approver (user)
The back approver, to whom the approval has been sent when the approver is on leave/not available
xpath (JSONObject)
Organisational Roles configured for the approval
show attribute
path (string)
The path of the organisational role to be configured for the approval
display_name (string)read only
The display name of the organisational role.
For Example: CEO, CFO.
approval_level (approval_level)read only
Approval level to which the approval is associated
More Attributes Expand all
$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
--data-urlencode input_data='{}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {};
params = {"input_data":input_data};
response = invokeurl
[
url: url
type: GET
parameters:params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'{}'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method get -Body $data -Headers $headers
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{}'''
url += "?" + urlencode({"input_data":input_data})
httprequest = Request(url, headers=headers)
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": [{
"status_code": 2000,
"status": "success"
}],
"approvals": [{
"approver": {
"email_id": "test@test.com",
"is_technician": true,
"sms_mail": null,
"mobile": null,
"last_name": null,
"user_scope": "0",
"phone": null,
"name": "test",
"id": "152000002792465",
"photo_url": "https://contacts.zoho.com/file?sample",
"is_vip_user": false,
"department": null,
"first_name": "Test",
"job_title": null
},
"xpath": {
"path": null
},
"comments": null,
"original_approver": null,
"approval_level": {
"created_time": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171056274"
},
"request": null,
"level": 1,
"purchase_order": null,
"release": {
"id": "152000014951317"
},
"change": null,
"id": "152000015270025",
"created_by": {
"id": "152000000006619"
},
"status": {
"id": "152000000008475"
}
},
"id": "152000015270029",
"sent_on": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171062056"
},
"status": {
"name": "Approved",
"id": "152000000008475"
},
"action_taken_on": {
"display_value": "Dec 22, 2021 05:07 PM",
"value": "1640173067025"
}
}, {
"approver": {
"email_id": "trial@test.com",
"is_technician": true,
"sms_mail": null,
"mobile": null,
"last_name": null,
"user_scope": "0",
"phone": null,
"name": "Trial",
"id": "152000005092853",
"photo_url": "https://contacts.zoho.com/file?sample",
"is_vip_user": false,
"department": null,
"first_name": "Trial",
"job_title": null
},
"xpath": {
"path": null
},
"comments": "Approve",
"original_approver": null,
"approval_level": {
"created_time": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171056274"
},
"request": null,
"level": 1,
"purchase_order": null,
"release": {
"id": "152000014951317"
},
"change": null,
"id": "152000015270025",
"created_by": {
"id": "152000000006619"
},
"status": {
"id": "152000000008475"
}
},
"id": "152000015270047",
"sent_on": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171067537"
},
"status": {
"name": "Approved",
"id": "152000000008475"
},
"action_taken_on": {
"display_value": "Dec 22, 2021 05:05 PM",
"value": "1640172934471"
}
}, {
"approver": {
"email_id": "demo@test.com",
"is_technician": true,
"sms_mail": null,
"mobile": null,
"last_name": null,
"user_scope": "0",
"phone": null,
"name": "test",
"id": "152000002247399",
"photo_url": "https://contacts.zoho.com/file?sample",
"is_vip_user": false,
"department": null,
"first_name": "Demo",
"job_title": null
},
"xpath": {
"path": null
},
"comments": "Approved",
"original_approver": null,
"approval_level": {
"created_time": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171056274"
},
"request": null,
"level": 1,
"purchase_order": null,
"release": {
"id": "152000014951317"
},
"change": null,
"id": "152000015270025",
"created_by": {
"id": "152000000006619"
},
"status": {
"id": "152000000008475"
}
},
"id": "152000015270065",
"sent_on": {
"display_value": "Dec 22, 2021 04:34 PM",
"value": "1640171072148"
},
"status": {
"name": "Approved",
"id": "152000000008475"
},
"action_taken_on": {
"display_value": "Dec 22, 2021 05:13 PM",
"value": "1640173406885"
}
}],
"list_info": {
"has_more_rows": false,
"row_count": 3
}
}
Approve Release Approval
This operation helps to Approve a Release Approval
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve
$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve\
-X PUT\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"approval": {
"comments": "The comments to approve the approval"
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
"approval": {
"comments": "The comments to approve the approval"
}
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: PUT
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"approval": {
"comments": "The comments to approve the approval"
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method put -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_approve"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"approval": {
"comments": "The comments to approve the approval"
}
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="PUT")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"messages": [{
"status_code": 2000,
"type": "success",
"message": "Your decision has been recorded. Thank you for your cooperation!"
}],
"status": "success"
}
}
Get Notification Content For Release Approval
This operation helps you Get notification content for sending release approval.
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification
$ curl -G <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
response = invokeurl
[
url: url
type: GET
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$response = Invoke-RestMethod -Uri $url -Method get -Headers $headers
$response
#Python version - 3.8
#This script requires requests module installed in python.
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
httprequest = Request(url, headers=headers)
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"notification": {
"subject": "Recommendation required for a Release",
"description": "${submitter} has requested your recommendations for this Release - ${title}. Click here to view Release details ${approval_link}"
},
"response_status": {
"status_code": 2000,
"status": "success"
}
}
Send Notification For Release Approval
This operation helps you Send notification for release approval.
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification
$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification\
-X PUT\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: PUT
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method put -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_send_notification"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="PUT")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"messages": [{
"status_code": 2000,
"type": "success",
"message": "Approval Mail Sent "
}],
"status": "success"
}
}
Reject Release Approval
This operation helps to Reject a Release Approval
Url
<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject
$ curl <service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject\
-X PUT\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"approval": {
"comments": "The comments to reject the approval"
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"};
input_data = {
"approval": {
"comments": "The comments to reject the approval"
}
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: PUT
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"approval": {
"comments": "The comments to reject the approval"
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method put -Body $data -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.parse import urlencode
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>/api/v3/releases/{release_id}/approval_levels/{approval_level_id}/approvals/{approval_id}/_reject"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "Zoho-oauthtoken 1000.7xxx98976ab0xxxxxx19901e7551be57.bxxxx921ed64c04f79622bebcfxxxxxx",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"approval": {
"comments": "The comments to reject the approval"
}
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="PUT")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"response_status": {
"status_code": 2000,
"messages": [{
"status_code": 2000,
"type": "success",
"message": "Your decision has been recorded. Thank you for your cooperation!"
}],
"status": "success"
}
}