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 - canCreateProjectTasks
Description
This flowcode operation creates a new project task for the specified project.
Request Parameters
The addProjectTask 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 project id. |
name |
xs:string |
Yes | The name of the task. |
description |
xs:string |
No | A description of the task. |
category |
xs:string |
No | The category of the task. |
priority |
xs:string |
No | The priority of the task. |
estimatedHours |
xs:decimal |
No | The estimated number of hours to complete the task. |
ragStatus |
xs:string |
No | The project task's rag status. Accepted values are status.red, status.amber, status.green |
checklists |
xs:string |
No | A JSON string of checklist(s). Format is as follows: [{"name":"my first checklist","editMode":"false","items":[{"name":"item 1","editMode":"false","value":"false"},{"name":"item 2","editMode":"false","value":"false"},{"name":"item 3","editMode":"false","value":"false"}]}] |
ownedBy |
xs:string |
No | The urn of the task owner. |
assignedTo |
xs:string |
No | The urn of the task assignee. |
startDate |
xs:dateTime |
No | The start date of the task. |
dueDate |
xs:dateTime |
No | The due date of the task. |
status |
xs:string |
Yes | The status of the task. Accepted values are 'status.inPlanning' or 'status.assigned' |
progress |
xs:integer |
No | The progress of the task. |
externalReference |
xs:string |
No | An external reference for the task. |
milestoneId |
xs:integer |
No | The milestone id of the milestone that the task counts towards. |
riskId |
xs:integer |
No | The risk id of the risk that the task is related to. |
dependsOnProjectTask |
xs:integer |
No | The project task id of the project task that the new task depends on. |
summaryTaskId |
xs:integer |
No | The summary task id of the summary task that the new task is related to. |
projectTemplateTaskId |
xs:integer |
No | The project template task the new task will be created from (if any). |
notifyProjectManagerOnCompletion |
xs:boolean |
No | Whether or not the project manager should receive a Hornbill notification when the new task is completed. Default is false. |
Response Parameters
Name | Type | Description |
---|---|---|
outcome |
xs:string |
The outcome of the flowcode operation. |
projectTaskId |
xs:integer |
The id of the new project task. |
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":"addProjectTask","params":{"projectId":1,"name":"xs:string","description":"xs:string","category":"xs:string","priority":"xs:string","estimatedHours":1.23,"ragStatus":"xs:string","checklists":"xs:string","ownedBy":"xs:string","assignedTo":"xs:string","startDate":"xs:dateTime","dueDate":"xs:dateTime","status":"xs:string","progress":1,"externalReference":"xs:string","milestoneId":1,"riskId":1,"dependsOnProjectTask":1,"summaryTaskId":1,"projectTemplateTaskId":1,"notifyProjectManagerOnCompletion":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("name", "xs:string")
hornbillAPI.SetParam("description", "xs:string")
hornbillAPI.SetParam("category", "xs:string")
hornbillAPI.SetParam("priority", "xs:string")
hornbillAPI.SetParam("estimatedHours", "xs:decimal")
hornbillAPI.SetParam("ragStatus", "xs:string")
hornbillAPI.SetParam("checklists", "xs:string")
hornbillAPI.SetParam("ownedBy", "xs:string")
hornbillAPI.SetParam("assignedTo", "xs:string")
hornbillAPI.SetParam("startDate", "xs:dateTime")
hornbillAPI.SetParam("dueDate", "xs:dateTime")
hornbillAPI.SetParam("status", "xs:string")
hornbillAPI.SetParam("progress", "xs:integer")
hornbillAPI.SetParam("externalReference", "xs:string")
hornbillAPI.SetParam("milestoneId", "xs:integer")
hornbillAPI.SetParam("riskId", "xs:integer")
hornbillAPI.SetParam("dependsOnProjectTask", "xs:integer")
hornbillAPI.SetParam("summaryTaskId", "xs:integer")
hornbillAPI.SetParam("projectTemplateTaskId", "xs:integer")
hornbillAPI.SetParam("notifyProjectManagerOnCompletion", "xs:boolean")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.projectmanager/ProjectTasks", "addProjectTask")
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": "addProjectTask",
"params": {
"projectId": 1,
"name": "xs:string",
"description": "xs:string",
"category": "xs:string",
"priority": "xs:string",
"estimatedHours": 1.23,
"ragStatus": "xs:string",
"checklists": "xs:string",
"ownedBy": "xs:string",
"assignedTo": "xs:string",
"startDate": "xs:dateTime",
"dueDate": "xs:dateTime",
"status": "xs:string",
"progress": 1,
"externalReference": "xs:string",
"milestoneId": 1,
"riskId": 1,
"dependsOnProjectTask": 1,
"summaryTaskId": 1,
"projectTemplateTaskId": 1,
"notifyProjectManagerOnCompletion": 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": "addProjectTask",
"params": {
"projectId": 1,
"name": "xs:string",
"description": "xs:string",
"category": "xs:string",
"priority": "xs:string",
"estimatedHours": 1.23,
"ragStatus": "xs:string",
"checklists": "xs:string",
"ownedBy": "xs:string",
"assignedTo": "xs:string",
"startDate": "xs:dateTime",
"dueDate": "xs:dateTime",
"status": "xs:string",
"progress": 1,
"externalReference": "xs:string",
"milestoneId": 1,
"riskId": 1,
"dependsOnProjectTask": 1,
"summaryTaskId": 1,
"projectTemplateTaskId": 1,
"notifyProjectManagerOnCompletion": 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' => 'addProjectTask',
'params' => (object) [
'projectId' => 'xs:integer',
'name' => 'xs:string',
'description' => 'xs:string',
'category' => 'xs:string',
'priority' => 'xs:string',
'estimatedHours' => 'xs:decimal',
'ragStatus' => 'xs:string',
'checklists' => 'xs:string',
'ownedBy' => 'xs:string',
'assignedTo' => 'xs:string',
'startDate' => 'xs:dateTime',
'dueDate' => 'xs:dateTime',
'status' => 'xs:string',
'progress' => 'xs:integer',
'externalReference' => 'xs:string',
'milestoneId' => 'xs:integer',
'riskId' => 'xs:integer',
'dependsOnProjectTask' => 'xs:integer',
'summaryTaskId' => 'xs:integer',
'projectTemplateTaskId' => 'xs:integer',
'notifyProjectManagerOnCompletion' => '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" = "addProjectTask"
params = @{
projectId = "xs:integer"
name = "xs:string"
description = "xs:string"
category = "xs:string"
priority = "xs:string"
estimatedHours = "xs:decimal"
ragStatus = "xs:string"
checklists = "xs:string"
ownedBy = "xs:string"
assignedTo = "xs:string"
startDate = "xs:dateTime"
dueDate = "xs:dateTime"
status = "xs:string"
progress = "xs:integer"
externalReference = "xs:string"
milestoneId = "xs:integer"
riskId = "xs:integer"
dependsOnProjectTask = "xs:integer"
summaryTaskId = "xs:integer"
projectTemplateTaskId = "xs:integer"
notifyProjectManagerOnCompletion = "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":"addProjectTask",
"params":{
"projectId":"xs:integer",
"name":"xs:string",
"description":"xs:string",
"category":"xs:string",
"priority":"xs:string",
"estimatedHours":"xs:decimal",
"ragStatus":"xs:string",
"checklists":"xs:string",
"ownedBy":"xs:string",
"assignedTo":"xs:string",
"startDate":"xs:dateTime",
"dueDate":"xs:dateTime",
"status":"xs:string",
"progress":"xs:integer",
"externalReference":"xs:string",
"milestoneId":"xs:integer",
"riskId":"xs:integer",
"dependsOnProjectTask":"xs:integer",
"summaryTaskId":"xs:integer",
"projectTemplateTaskId":"xs:integer",
"notifyProjectManagerOnCompletion":"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