How can we help?
{{docApp.searchError}}
{{product.name}}
Searching in {{docApp.searchFilterBySpecificBookTitle}}
{{docApp.searchResultFilteredItems.length}} results for: {{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Search results have been limited. There are a total of {{docApp.searchResponse.totalResultsAvailable}} matches.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Operation Information
- Application Reference:
com.hornbill.projectmanager
- Scope:
Entity - ProjectTasks
- Class:
Entity
- Required Privilege Level:
user
- Required Rights: Group E - canViewProjectTasks
Description
This flowcode operation gets details of all project tasks that match the search criteria provided.
Request Parameters
The getProjectTasks API takes the following input parameters. It is important to note that the parameters must satisfy the requirement of the input validation checks.
Name | Type | Required | Description |
---|---|---|---|
projectId |
xs:integer |
Yes | The primary key of the project. |
searchFilter |
xs:string |
No | Search criteria for project tasks. |
filterByStatus |
xs:string |
No | Filters the results by a valid status value, e.g. status.inPlanning, status.assigned, status.completed, status.cancelled |
filterByMilestone |
xs:integer |
No | Filters the results by a valid milestone id. |
filterByAssignee |
xs:string |
No | Filters the results by a valid assignee. |
filterBySummaryTask |
xs:integer |
No | Filters the results by a valid summary task id. |
rowStart |
xs:integer |
Yes | Row Start for Paging. |
rowLimit |
xs:integer |
Yes | Page Size. |
sortDirection |
xs:string |
No | Either ASC or DESC. Required if sortng by task name, progress, status, assigned to, start date or due date, otherwise the filter will not apply. |
sortOnTaskName |
xs:boolean |
No | Sorts the result set by task name rather than task creation date. Default is false. |
sortOnProgress |
xs:boolean |
No | Sorts the result set by task progress rather than task creation date. Default is false. |
sortOnStatus |
xs:boolean |
No | Sorts the result set by task status rather than task creation date. Default is false. |
sortOnAssignedTo |
xs:boolean |
No | Sorts the result set by task assignee rather than task creation date. Default is false. |
sortOnStartDate |
xs:boolean |
No | Sorts the result set by task start date rather than task creation date. Default is false. |
sortOnDueDate |
xs:boolean |
No | Sorts the result set by task due date rather than task creation date. Default is false. |
sortOnRagStatus |
xs:boolean |
No | Sorts the result set by task RAG status rather than task creation date. Default is false. |
Response Parameters
Name | Type | Description |
---|---|---|
outcome |
xs:string |
The outcome of the flowcode operation. |
totalRecordCount |
xs:integer |
The total number of project tasks that match the search criteria provided. |
projectTasks |
xs:string |
A JSON string of project tasks. |
projectTaskAssignees |
xs:string |
A JSON string of project task assignees. |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.projectmanager/ProjectTasks","@method":"getProjectTasks","params":{"projectId":1,"searchFilter":"xs:string","filterByStatus":"xs:string","filterByMilestone":1,"filterByAssignee":"xs:string","filterBySummaryTask":1,"rowStart":1,"rowLimit":1,"sortDirection":"xs:string","sortOnTaskName":false,"sortOnProgress":false,"sortOnStatus":false,"sortOnAssignedTo":false,"sortOnStartDate":false,"sortOnDueDate":false,"sortOnRagStatus":false}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("projectId", "xs:integer")
hornbillAPI.SetParam("searchFilter", "xs:string")
hornbillAPI.SetParam("filterByStatus", "xs:string")
hornbillAPI.SetParam("filterByMilestone", "xs:integer")
hornbillAPI.SetParam("filterByAssignee", "xs:string")
hornbillAPI.SetParam("filterBySummaryTask", "xs:integer")
hornbillAPI.SetParam("rowStart", "xs:integer")
hornbillAPI.SetParam("rowLimit", "xs:integer")
hornbillAPI.SetParam("sortDirection", "xs:string")
hornbillAPI.SetParam("sortOnTaskName", "xs:boolean")
hornbillAPI.SetParam("sortOnProgress", "xs:boolean")
hornbillAPI.SetParam("sortOnStatus", "xs:boolean")
hornbillAPI.SetParam("sortOnAssignedTo", "xs:boolean")
hornbillAPI.SetParam("sortOnStartDate", "xs:boolean")
hornbillAPI.SetParam("sortOnDueDate", "xs:boolean")
hornbillAPI.SetParam("sortOnRagStatus", "xs:boolean")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.projectmanager/ProjectTasks", "getProjectTasks")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks";
const payload = {
"@service": "apps/com.hornbill.projectmanager/ProjectTasks",
"@method": "getProjectTasks",
"params": {
"projectId": 1,
"searchFilter": "xs:string",
"filterByStatus": "xs:string",
"filterByMilestone": 1,
"filterByAssignee": "xs:string",
"filterBySummaryTask": 1,
"rowStart": 1,
"rowLimit": 1,
"sortDirection": "xs:string",
"sortOnTaskName": false,
"sortOnProgress": false,
"sortOnStatus": false,
"sortOnAssignedTo": false,
"sortOnStartDate": false,
"sortOnDueDate": false,
"sortOnRagStatus": false
}
};
fetch(endpoint, {
method: 'POST',
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
},
body: JSON.stringify(payload)
}).then(res => res.json())
.then(res => console.log(res));
const axios = require('axios');
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks";
const payload = {
"@service": "apps/com.hornbill.projectmanager/ProjectTasks",
"@method": "getProjectTasks",
"params": {
"projectId": 1,
"searchFilter": "xs:string",
"filterByStatus": "xs:string",
"filterByMilestone": 1,
"filterByAssignee": "xs:string",
"filterBySummaryTask": 1,
"rowStart": 1,
"rowLimit": 1,
"sortDirection": "xs:string",
"sortOnTaskName": false,
"sortOnProgress": false,
"sortOnStatus": false,
"sortOnAssignedTo": false,
"sortOnStartDate": false,
"sortOnDueDate": false,
"sortOnRagStatus": false
}
};
const axiosConfig = {
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
};
axios.post(endpoint, payload, axiosConfig)
.then((res) => {
console.log("RESPONSE RECEIVED: ", res);
})
.catch((err) => {
console.log("AXIOS ERROR: ", err);
})
$endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks";
$payload = (object) [
'@service' => 'apps/com.hornbill.projectmanager/ProjectTasks',
'@method' => 'getProjectTasks',
'params' => (object) [
'projectId' => 'xs:integer',
'searchFilter' => 'xs:string',
'filterByStatus' => 'xs:string',
'filterByMilestone' => 'xs:integer',
'filterByAssignee' => 'xs:string',
'filterBySummaryTask' => 'xs:integer',
'rowStart' => 'xs:integer',
'rowLimit' => 'xs:integer',
'sortDirection' => 'xs:string',
'sortOnTaskName' => 'xs:boolean',
'sortOnProgress' => 'xs:boolean',
'sortOnStatus' => 'xs:boolean',
'sortOnAssignedTo' => 'xs:boolean',
'sortOnStartDate' => 'xs:boolean',
'sortOnDueDate' => 'xs:boolean',
'sortOnRagStatus' => 'xs:boolean',
]
];
$headers = [
'Authorization: ESP-APIKEY yourHornbillAPIKey',
'Content-Type: application/json'
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;
$Endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks"
$Body = @{
"@service" = "apps/com.hornbill.projectmanager/ProjectTasks"
"@method" = "getProjectTasks"
params = @{
projectId = "xs:integer"
searchFilter = "xs:string"
filterByStatus = "xs:string"
filterByMilestone = "xs:integer"
filterByAssignee = "xs:string"
filterBySummaryTask = "xs:integer"
rowStart = "xs:integer"
rowLimit = "xs:integer"
sortDirection = "xs:string"
sortOnTaskName = "xs:boolean"
sortOnProgress = "xs:boolean"
sortOnStatus = "xs:boolean"
sortOnAssignedTo = "xs:boolean"
sortOnStartDate = "xs:boolean"
sortOnDueDate = "xs:boolean"
sortOnRagStatus = "xs:boolean"
}
}
$Header = @{
"Authorization" = "ESP-APIKEY yourHornbillAPIKey"
}
$Parameters = @{
Method = "POST"
Uri = $Endpoint
Headers = $Header
Body = ($Body | ConvertTo-Json)
ContentType = "application/json"
}
Invoke-RestMethod @Parameters
import requests
import json
endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.projectmanager/ProjectTasks"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.projectmanager/ProjectTasks",
"@method":"getProjectTasks",
"params":{
"projectId":"xs:integer",
"searchFilter":"xs:string",
"filterByStatus":"xs:string",
"filterByMilestone":"xs:integer",
"filterByAssignee":"xs:string",
"filterBySummaryTask":"xs:integer",
"rowStart":"xs:integer",
"rowLimit":"xs:integer",
"sortDirection":"xs:string",
"sortOnTaskName":"xs:boolean",
"sortOnProgress":"xs:boolean",
"sortOnStatus":"xs:boolean",
"sortOnAssignedTo":"xs:boolean",
"sortOnStartDate":"xs:boolean",
"sortOnDueDate":"xs:boolean",
"sortOnRagStatus":"xs:boolean",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}
In This Document