<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones
Milestone
Milestones help you plan the project, decide its various stages, and also serve as landmarks that identify how close a project is on the verge of completion.
Attributes
id (long)
Unique identifier of the milestone.
title (string)
Title of the milestone.
project (project)read only
Project under which the milestone is placed.
status (project_status)
Status of the milestone.
owner (user)
Denotes the user working on the milestone.
priority (priority)
Priority/importance of the milestone.
More Attributes Expand all
created_time (datetime)read only
Denotes the created time of the milestone. This attribute is applicable only for output and will be ignored in input fields.
Add Milestone
This operation lets you add a new milestone.
Mandatory Fields :- title, project
Url
Attributes
id (long)
Unique identifier of the milestone.
title (string)
Title of the milestone.
project (project)read only
Project under which the milestone is placed.
status (project_status)
Status of the milestone.
owner (user)
Denotes the user working on the milestone.
priority (priority)
Priority/importance of the milestone.
More Attributes Expand all
created_time (datetime)read only
Denotes the created time of the milestone. This attribute is applicable only for output and will be ignored in input fields.
$ curl <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones\
-X POST\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"milestone": {
"title": "Project Milestone Doctool",
"description": "For the release of Project Mgmt.",
"status": {
"id": "2"
},
"owner": {
"id": "4",
"name": "administrator"
},
"scheduled_end_time": {
"value": "1664984296037"
},
"priority": {
"name": "Medium"
},
"estimated_hours": "168",
"actual_hours": "175"
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"milestone": {
"title": "Project Milestone Doctool",
"description": "For the release of Project Mgmt.",
"status": {
"id": "2"
},
"owner": {
"id": "4",
"name": "administrator"
},
"scheduled_end_time": {
"value": "1664984296037"
},
"priority": {
"name": "Medium"
},
"estimated_hours": "168",
"actual_hours": "175"
}
};
params = {"input_data": input_data};
response = invokeurl
[
url: url
type: POST
parameters: params
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"milestone": {
"title": "Project Milestone Doctool",
"description": "For the release of Project Mgmt.",
"status": {
"id": "2"
},
"owner": {
"id": "4",
"name": "administrator"
},
"scheduled_end_time": {
"value": "1664984296037"
},
"priority": {
"name": "Medium"
},
"estimated_hours": "168",
"actual_hours": "175"
}
}
'@
$data = @{ 'input_data' = $input_data}
$response = Invoke-RestMethod -Uri $url -Method post -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/projects/{project_id}/milestones"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"milestone": {
"title": "Project Milestone Doctool",
"description": "For the release of Project Mgmt.",
"status": {
"id": "2"
},
"owner": {
"id": "4",
"name": "administrator"
},
"scheduled_end_time": {
"value": "1664984296037"
},
"priority": {
"name": "Medium"
},
"estimated_hours": "168",
"actual_hours": "175"
}
}'''
data = urlencode({"input_data":input_data}).encode()
httprequest = Request(url, headers=headers,data=data, method="POST")
try:
with urlopen(httprequest) as response:
print(response.read().decode())
except HTTPError as e:
print(e.read().decode())
{
"milestone": {
"owner": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 01:46 PM",
"value": "1587975386559"
},
"project": {
"id": "1",
"title": "proj"
},
"description": "For the release of Project Mgmt.",
"projected_end_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
},
"title": "Project Milestone Doctool",
"priority": {
"color": "#ff6600",
"name": "Medium",
"id": "3"
},
"created_by": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"scheduled_end_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
},
"task_count": "0",
"actual_hours": "175",
"actual_end_time": {
"display_value": "Oct 5, 2022",
"value": "1599589799000"
},
"estimated_hours": "168",
"id": "2",
"actual_start_time": null,
"task_completed": "0",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
},
"scheduled_start_time": null
},
"response_status": {
"status_code": 2000,
"status": "success"
}
}
Edit Milestone
This operation lets you edit/update a milestone.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}
Attributes
id (long)
Unique identifier of the milestone.
title (string)
Title of the milestone.
project (project)read only
Project under which the milestone is placed.
status (project_status)
Status of the milestone.
owner (user)
Denotes the user working on the milestone.
priority (priority)
Priority/importance of the milestone.
More Attributes Expand all
created_time (datetime)read only
Denotes the created time of the milestone. This attribute is applicable only for output and will be ignored in input fields.
$ curl <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}\
-X PUT\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"milestone": {
"title": "Project Milestone Doctool update",
"owner": {
"id": "4"
},
"actual_hours": "40",
"description": "Hello milestone description update",
"projected_end_time": {
"value": "1964984296037"
},
"priority": {
"id": "2"
},
"scheduled_end_time": {
"value": "1764984296037"
},
"actual_end_time": {
"value": "1600772686149"
},
"estimated_hours": "45",
"actual_start_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686143"
},
"status": {
"id": "2"
},
"scheduled_start_time": {
"value": "1664984296037"
}
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"milestone": {
"title": "Project Milestone Doctool update",
"owner": {
"id": "4"
},
"actual_hours": "40",
"description": "Hello milestone description update",
"projected_end_time": {
"value": "1964984296037"
},
"priority": {
"id": "2"
},
"scheduled_end_time": {
"value": "1764984296037"
},
"actual_end_time": {
"value": "1600772686149"
},
"estimated_hours": "45",
"actual_start_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686143"
},
"status": {
"id": "2"
},
"scheduled_start_time": {
"value": "1664984296037"
}
}
};
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/projects/{project_id}/milestones/{milestone_id}"
$headers = @{"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
$input_data = @'
{
"milestone": {
"title": "Project Milestone Doctool update",
"owner": {
"id": "4"
},
"actual_hours": "40",
"description": "Hello milestone description update",
"projected_end_time": {
"value": "1964984296037"
},
"priority": {
"id": "2"
},
"scheduled_end_time": {
"value": "1764984296037"
},
"actual_end_time": {
"value": "1600772686149"
},
"estimated_hours": "45",
"actual_start_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686143"
},
"status": {
"id": "2"
},
"scheduled_start_time": {
"value": "1664984296037"
}
}
}
'@
$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/projects/{project_id}/milestones/{milestone_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"milestone": {
"title": "Project Milestone Doctool update",
"owner": {
"id": "4"
},
"actual_hours": "40",
"description": "Hello milestone description update",
"projected_end_time": {
"value": "1964984296037"
},
"priority": {
"id": "2"
},
"scheduled_end_time": {
"value": "1764984296037"
},
"actual_end_time": {
"value": "1600772686149"
},
"estimated_hours": "45",
"actual_start_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686143"
},
"status": {
"id": "2"
},
"scheduled_start_time": {
"value": "1664984296037"
}
}
}'''
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())
{
"milestone": {
"owner": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"created_time": {
"display_value": "Sep 24, 2020 12:47 PM",
"value": "1600931838499"
},
"attachments": [],
"project": {
"id": "1",
"title": "proj 1"
},
"description": "Hello milestone description update",
"title": "Project Milestone Doctool update",
"priority": {
"color": "#006600",
"name": "Normal",
"id": "2"
},
"created_by": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"scheduled_end_time": {
"display_value": "Dec 6, 2025",
"value": "1764984296037"
},
"task_count": "0",
"actual_hours": "40",
"actual_end_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686149"
},
"estimated_hours": "45",
"id": "1",
"actual_start_time": {
"display_value": "Sep 22, 2020",
"value": "1600772686143"
},
"task_completed": "0",
"projected_end_time": {
"display_value": "Apr 8, 2032",
"value": "1964984296037"
},
"status": {
"color": "#00ff00",
"name": "Closed",
"id": "2"
},
"scheduled_start_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
}
},
"response_status": {
"status_code": 2000,
"status": "success"
}
}
Get Milestone
This operation will let you fetch details of a milestone.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}
Attributes
id (long)
Unique identifier of the milestone.
project (project)read only
Project under which the milestone is placed.
title (string)
Title of the milestone.
scheduled_start_time (date)
Denotes the scheduled starting time of the milestone.
scheduled_end_time (date)
Denotes the scheduled ending time of the milestone.
actual_hours (long)
Denotes the actual hours required to complete the milestone.
More Attributes Expand all
created_by (user)read only
This attribute holds the ID of user who created the milestone. This attribute is applicable only for output and will be ignored in input fields.
$ curl -G <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
response = invokeurl
[
url: url
type: GET
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"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/projects/{project_id}/milestones/{milestone_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"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())
{
"milestone": {
"owner": {
"email_id": null,
"name": "Heather Graham",
"is_vipuser": false,
"id": "6",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 02:00 PM",
"value": "1587976258716"
},
"project": {
"id": "1",
"title": "proj"
},
"description": "<div>Project milestone description sample input<br /></div>",
"projected_end_time": {
"display_value": "Apr 24, 2020",
"value": "1587752940000"
},
"title": "project milestone view",
"priority": {
"color": "#666666",
"name": "Low",
"id": "1"
},
"created_by": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"scheduled_end_time": {
"display_value": "Apr 18, 2020",
"value": "1587234540000"
},
"task_count": "0",
"actual_hours": "67",
"actual_end_time": {
"display_value": "Apr 22, 2020",
"value": "1587580140000"
},
"estimated_hours": "45",
"id": "5",
"actual_start_time": {
"display_value": "Apr 6, 2020",
"value": "1586111400000"
},
"task_completed": "0",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
},
"scheduled_start_time": {
"display_value": "Apr 12, 2020",
"value": "1586629800000"
}
},
"response_status": {
"status_code": 2000,
"status": "success"
}
}
Get List Milestone
This operation will let you fetch details of all milestones for the given project.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones
Attributes
id (long)
Unique identifier of the milestone.
project (project)read only
Project under which the milestone is placed.
title (string)
Title of the milestone.
scheduled_start_time (date)
Denotes the scheduled starting time of the milestone.
scheduled_end_time (date)
Denotes the scheduled ending time of the milestone.
actual_hours (long)
Denotes the actual hours required to complete the milestone.
More Attributes Expand all
created_by (user)read only
This attribute holds the ID of user who created the milestone. This attribute is applicable only for output and will be ignored in input fields.
$ curl -G <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones\
-X GET\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"\
--data-urlencode input_data='{
"list_info": {
"sort_fields": [
{
"field": "owner.name",
"order": "asc"
},
{
"field": "created_time",
"order": "desc"
}
],
"search_criteria": {
"field": "status",
"condition": "neq",
"value": {
"id": "1",
"name": "Open"
}
},
"fields_required": [
"id",
"title",
"owner",
"status",
"created_time"
]
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"list_info": {
"sort_fields": [
{
"field": "owner.name",
"order": "asc"
},
{
"field": "created_time",
"order": "desc"
}
],
"search_criteria": {
"field": "status",
"condition": "neq",
"value": {
"id": "1",
"name": "Open"
}
},
"fields_required": [
"id",
"title",
"owner",
"status",
"created_time"
]
}
};
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/projects/{project_id}/milestones"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'{
"list_info": {
"sort_fields": [
{
"field": "owner.name",
"order": "asc"
},
{
"field": "created_time",
"order": "desc"
}
],
"search_criteria": {
"field": "status",
"condition": "neq",
"value": {
"id": "1",
"name": "Open"
}
},
"fields_required": [
"id",
"title",
"owner",
"status",
"created_time"
]
}
}'@
$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/projects/{project_id}/milestones"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"list_info": {
"sort_fields": [
{
"field": "owner.name",
"order": "asc"
},
{
"field": "created_time",
"order": "desc"
}
],
"search_criteria": {
"field": "status",
"condition": "neq",
"value": {
"id": "1",
"name": "Open"
}
},
"fields_required": [
"id",
"title",
"owner",
"status",
"created_time"
]
}
}'''
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"
}
],
"list_info": {
"sort_fields": [
{
"field": "owner.name",
"order": "asc"
},
{
"field": "created_time",
"order": "desc"
}
],
"has_more_rows": false,
"fields_required": [
"id",
"title",
"owner",
"status",
"created_time"
],
"start_index": 1,
"search_criteria": {
"condition": "neq",
"field": "status",
"value": "{\"name\":\"Open\",\"id\":\"1\"}"
},
"row_count": 4
},
"milestones": [
{
"owner": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 01:48 PM",
"value": "1587975511831"
},
"id": "3",
"title": "Project Milestone Doctool update",
"status": {
"internal_name": "Canceled",
"color": "#393939",
"name": "Canceled",
"id": "4"
}
},
{
"owner": {
"email_id": null,
"name": "Heather Graham",
"is_vipuser": false,
"id": "6",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 02:00 PM",
"value": "1587976258716"
},
"id": "5",
"title": "project milestone view",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
}
},
{
"owner": {
"email_id": null,
"name": "Heather Graham",
"is_vipuser": false,
"id": "6",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 01:52 PM",
"value": "1587975729014"
},
"id": "4",
"title": "Project Milestone Doctool update",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
}
},
{
"owner": {
"email_id": "guest@zylker.com",
"name": "Shawn Adams",
"is_vipuser": false,
"id": "5",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 01:46 PM",
"value": "1587975386559"
},
"id": "2",
"title": "Project Milestone Doctool",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
}
}
]
}
Delete Milestone
This operation lets you delete a milestone.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}
$ curl <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}\
-X DELETE\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
response = invokeurl
[
url: url
type: DELETE
headers: headers
];
info response;
#Powershell version - 5.1
$url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$response = Invoke-RestMethod -Uri $url -Method delete -Headers $headers
$response
#Python version - 3.10
from urllib.error import HTTPError
from urllib.request import urlopen,Request
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
httprequest = Request(url, headers=headers,method="DELETE")
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"
}
}
Assign Owner
This operation assigns owner for the given milestone.
Url
<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}/assign
$ curl <service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}/assign\
-X PUT\
-H "Accept: application/vnd.manageengine.sdp.v3+json"\
-H "Authorization: authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"\
-H "Content-Type: application/x-www-form-urlencoded"\
-d input_data='{
"milestone": {
"owner": {
"id": "9",
"name": "Jeniffer Doe"
}
}
}'
// Deluge Sample script
url = "<service domain|custom domain>/app/<portal>//api/v3/projects/{project_id}/milestones/{milestone_id}/assign";
headers = {"Accept":"application/vnd.manageengine.sdp.v3+json",
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"};
input_data = {
"milestone": {
"owner": {
"id": "9",
"name": "Jeniffer Doe"
}
}
};
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/projects/{project_id}/milestones/{milestone_id}/assign"
$headers = @{ "Accept" = "application/vnd.manageengine.sdp.v3+json"
"Authorization" = "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX"
"Content-Type" = "application/x-www-form-urlencoded"}
$input_data = @'
{
"milestone": {
"owner": {
"id": "9",
"name": "Jeniffer Doe"
}
}
}
'@
$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/projects/{project_id}/milestones/{milestone_id}/assign"
headers ={"Accept": "application/vnd.manageengine.sdp.v3+json",
"Authorization" : "authtoken: 6FXXXXX2-0XXX-XXXX-XXXX-5XXXXXAXXXXX",
"Content-Type" : "application/x-www-form-urlencoded"}
input_data = '''{
"milestone": {
"owner": {
"id": "9",
"name": "Jeniffer Doe"
}
}
}'''
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())
{
"milestone": {
"owner": {
"email_id": "guest@zylker.com",
"name": "Jeniffer Doe",
"is_vipuser": false,
"id": "9",
"department": null
},
"created_time": {
"display_value": "Apr 27, 2020 01:46 PM",
"value": "1587975386559"
},
"project": {
"id": "1",
"title": "proj"
},
"index": 1,
"description": "For the release of Project Mgmt.",
"projected_end_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
},
"title": "Project Milestone Doctool",
"priority": {
"color": "#ff6600",
"name": "Medium",
"id": "3"
},
"created_by": {
"email_id": null,
"name": "administrator",
"is_vipuser": false,
"id": "4",
"department": null
},
"scheduled_end_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
},
"task_count": "0",
"actual_hours": "175",
"actual_end_time": {
"display_value": "Oct 5, 2022",
"value": "1664984296037"
},
"estimated_hours": "168",
"id": "2",
"actual_start_time": null,
"task_completed": "0",
"status": {
"internal_name": "Closed",
"color": "#00ff00",
"name": "Closed",
"id": "2"
},
"scheduled_start_time": null
},
"response_status": {
"status_code": 2000,
"status": "success"
}
}