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.servicemanager
- Scope:
Entity - ChangeRequests
- Class:
Entity
- Required Privilege Level:
user
- Required Rights: Group C - createChangeRequests
Description
This flowcode operation logs a Change Request using the provided parameters. Firstly it calls the component flowcode operation logRequest to actually log the change before updating the record with any extended table details. Finally it spawns a bpm process if a service id has been provided.
Request Parameters
The logChangeRequest API takes the following input parameters.
Note
When sending a JSON request payload to the API, the order of parameters is not significant. However, for XML request payloads, parameters must be provided in the exact order specified in this documentation to comply with input validation requirements.
Name | Type | Required | Description |
---|---|---|---|
summary |
xs:string |
No | The change request summary. |
description |
xs:string |
No | The change request description. |
requestType |
xs:string |
No | The type of request (Change Request) |
customerId |
xs:string |
No | The customer Id (Co-worker / Contact). If the customer is a co-worker, the id will be their User ID. If the customer is a contact, the id will be the h_pk_id value of their record in the h_sys_contact table. |
customerType |
xs:string |
No | The customer type (Co-worker / Contact). 0 for a co-worker, 1 for a contact. |
ownerId |
xs:string |
No | The co-worker Id of the owner of the change request. |
teamId |
xs:string |
No | The Id of the team assigned to the Request. This is the h_id value of the record in the h_sys_groups table for the assigned team. |
employeeAssignmentId |
xs:string |
No | The Id of the employee assignment assigned to the Request. |
status |
xs:string |
No | The status of the change request. Examples are status.new, status.open, status.resolved. When not supplied, the value "status.new" is considered. |
priorityId |
xs:string |
No | The Id of the chosen priority for the change request. By default, High (1), Medium (2), Low (3). |
categoryId |
xs:string |
No | The Id of the chosen category for the change request. |
categoryName |
xs:string |
No | The Name of the category |
image |
xs:string |
No | WebDAV path to an image (from email only). |
sourceType |
xs:string |
No | The source from where the change request was raised (e.g. Email / Post). |
sourceId |
xs:string |
No | The Id if the source object it was raised from (if Email:messageId, if Post:ActivityStreamID and ActivityID). |
assetId |
xs:string |
No | The Id(s) of all assets to be associated to the change request. |
impact |
xs:string |
No | The impact of the change request. E.g. High, Medium, Low. |
urgencyId |
xs:string |
No | The ID of the request's Urgency level |
serviceId |
xs:string |
No | The id of the selected service. This will be used to spawn a bpm process. |
questions |
xs:string |
No | Questions that were answered during progressive capture |
resolutionDetails |
xs:string |
No | The resolution details if the change request is to be raised and resolved at the same time. |
fileName |
xs:string |
No | The full path for the file(s) to be attached |
changeType |
xs:string |
No | The type of change request. E.g. Emergency/Standard/Normal. |
siteId |
xs:string |
No | ID of the site this request is affecting |
siteName |
xs:string |
No | Name of the site this request is affecting |
catalogId |
xs:string |
No | The Catalog Id the Request was raised against |
catalogName |
xs:string |
No | The Catalog Name the Request was raised against |
externalRefNumber |
xs:string |
No | This parameter is to be set with the External Reference Number of a Request. |
bpmName |
xs:string |
No | The custom BPM Name when raising a request via a customised Service Catalog |
questionFieldMap |
xs:string |
No | Question Field Map as JSON |
connectionMap |
xs:string |
No | Connection Map as JSON |
connectionUpdateTimeline |
xs:boolean |
No | Update timeline true/false |
connectionTimelineVisibility |
xs:string |
No | Visibility level of timeline updates for added connections. Timeline update visibility defaults to Team if not provided. |
Response Parameters
Name | Type | Description |
---|---|---|
requestId |
xs:string |
The Id of the new change request. |
bpmProcessId |
xs:string |
The Id of the spawned Bpm process for the new change request. |
exceptionName |
xs:string |
The name / code of any exception thrown during the creation of the change request. |
exceptionDescription |
xs:string |
A description of any exception thrown during the creation of the change request. |
summary |
xs:string |
The provided summary of the change request. |
warnings |
xs:string |
Any warnings that were encountered when logging the change request. |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ChangeRequests' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.servicemanager/ChangeRequests","@method":"logChangeRequest","params":{"summary":"xs:string","description":"xs:string","requestType":"xs:string","customerId":"xs:string","customerType":"xs:string","ownerId":"xs:string","teamId":"xs:string","employeeAssignmentId":"xs:string","status":"xs:string","priorityId":"xs:string","categoryId":"xs:string","categoryName":"xs:string","image":"xs:string","sourceType":"xs:string","sourceId":"xs:string","assetId":"xs:string","impact":"xs:string","urgencyId":"xs:string","serviceId":"xs:string","questions":"xs:string","resolutionDetails":"xs:string","fileName":"xs:string","changeType":"xs:string","siteId":"xs:string","siteName":"xs:string","catalogId":"xs:string","catalogName":"xs:string","externalRefNumber":"xs:string","bpmName":"xs:string","questionFieldMap":"xs:string","connectionMap":"xs:string","connectionUpdateTimeline":false,"connectionTimelineVisibility":"xs:string"}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("summary", "xs:string")
hornbillAPI.SetParam("description", "xs:string")
hornbillAPI.SetParam("requestType", "xs:string")
hornbillAPI.SetParam("customerId", "xs:string")
hornbillAPI.SetParam("customerType", "xs:string")
hornbillAPI.SetParam("ownerId", "xs:string")
hornbillAPI.SetParam("teamId", "xs:string")
hornbillAPI.SetParam("employeeAssignmentId", "xs:string")
hornbillAPI.SetParam("status", "xs:string")
hornbillAPI.SetParam("priorityId", "xs:string")
hornbillAPI.SetParam("categoryId", "xs:string")
hornbillAPI.SetParam("categoryName", "xs:string")
hornbillAPI.SetParam("image", "xs:string")
hornbillAPI.SetParam("sourceType", "xs:string")
hornbillAPI.SetParam("sourceId", "xs:string")
hornbillAPI.SetParam("assetId", "xs:string")
hornbillAPI.SetParam("impact", "xs:string")
hornbillAPI.SetParam("urgencyId", "xs:string")
hornbillAPI.SetParam("serviceId", "xs:string")
hornbillAPI.SetParam("questions", "xs:string")
hornbillAPI.SetParam("resolutionDetails", "xs:string")
hornbillAPI.SetParam("fileName", "xs:string")
hornbillAPI.SetParam("changeType", "xs:string")
hornbillAPI.SetParam("siteId", "xs:string")
hornbillAPI.SetParam("siteName", "xs:string")
hornbillAPI.SetParam("catalogId", "xs:string")
hornbillAPI.SetParam("catalogName", "xs:string")
hornbillAPI.SetParam("externalRefNumber", "xs:string")
hornbillAPI.SetParam("bpmName", "xs:string")
hornbillAPI.SetParam("questionFieldMap", "xs:string")
hornbillAPI.SetParam("connectionMap", "xs:string")
hornbillAPI.SetParam("connectionUpdateTimeline", "xs:boolean")
hornbillAPI.SetParam("connectionTimelineVisibility", "xs:string")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.servicemanager/ChangeRequests", "logChangeRequest")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/ChangeRequests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/ChangeRequests",
"@method": "logChangeRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": "xs:string",
"ownerId": "xs:string",
"teamId": "xs:string",
"employeeAssignmentId": "xs:string",
"status": "xs:string",
"priorityId": "xs:string",
"categoryId": "xs:string",
"categoryName": "xs:string",
"image": "xs:string",
"sourceType": "xs:string",
"sourceId": "xs:string",
"assetId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"fileName": "xs:string",
"changeType": "xs:string",
"siteId": "xs:string",
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"bpmName": "xs:string",
"questionFieldMap": "xs:string",
"connectionMap": "xs:string",
"connectionUpdateTimeline": false,
"connectionTimelineVisibility": "xs:string"
}
};
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.servicemanager/ChangeRequests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/ChangeRequests",
"@method": "logChangeRequest",
"params": {
"summary": "xs:string",
"description": "xs:string",
"requestType": "xs:string",
"customerId": "xs:string",
"customerType": "xs:string",
"ownerId": "xs:string",
"teamId": "xs:string",
"employeeAssignmentId": "xs:string",
"status": "xs:string",
"priorityId": "xs:string",
"categoryId": "xs:string",
"categoryName": "xs:string",
"image": "xs:string",
"sourceType": "xs:string",
"sourceId": "xs:string",
"assetId": "xs:string",
"impact": "xs:string",
"urgencyId": "xs:string",
"serviceId": "xs:string",
"questions": "xs:string",
"resolutionDetails": "xs:string",
"fileName": "xs:string",
"changeType": "xs:string",
"siteId": "xs:string",
"siteName": "xs:string",
"catalogId": "xs:string",
"catalogName": "xs:string",
"externalRefNumber": "xs:string",
"bpmName": "xs:string",
"questionFieldMap": "xs:string",
"connectionMap": "xs:string",
"connectionUpdateTimeline": false,
"connectionTimelineVisibility": "xs:string"
}
};
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.servicemanager/ChangeRequests";
$payload = (object) [
'@service' => 'apps/com.hornbill.servicemanager/ChangeRequests',
'@method' => 'logChangeRequest',
'params' => (object) [
'summary' => 'xs:string',
'description' => 'xs:string',
'requestType' => 'xs:string',
'customerId' => 'xs:string',
'customerType' => 'xs:string',
'ownerId' => 'xs:string',
'teamId' => 'xs:string',
'employeeAssignmentId' => 'xs:string',
'status' => 'xs:string',
'priorityId' => 'xs:string',
'categoryId' => 'xs:string',
'categoryName' => 'xs:string',
'image' => 'xs:string',
'sourceType' => 'xs:string',
'sourceId' => 'xs:string',
'assetId' => 'xs:string',
'impact' => 'xs:string',
'urgencyId' => 'xs:string',
'serviceId' => 'xs:string',
'questions' => 'xs:string',
'resolutionDetails' => 'xs:string',
'fileName' => 'xs:string',
'changeType' => 'xs:string',
'siteId' => 'xs:string',
'siteName' => 'xs:string',
'catalogId' => 'xs:string',
'catalogName' => 'xs:string',
'externalRefNumber' => 'xs:string',
'bpmName' => 'xs:string',
'questionFieldMap' => 'xs:string',
'connectionMap' => 'xs:string',
'connectionUpdateTimeline' => 'xs:boolean',
'connectionTimelineVisibility' => 'xs:string',
]
];
$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.servicemanager/ChangeRequests"
$Body = @{
"@service" = "apps/com.hornbill.servicemanager/ChangeRequests"
"@method" = "logChangeRequest"
params = @{
summary = "xs:string"
description = "xs:string"
requestType = "xs:string"
customerId = "xs:string"
customerType = "xs:string"
ownerId = "xs:string"
teamId = "xs:string"
employeeAssignmentId = "xs:string"
status = "xs:string"
priorityId = "xs:string"
categoryId = "xs:string"
categoryName = "xs:string"
image = "xs:string"
sourceType = "xs:string"
sourceId = "xs:string"
assetId = "xs:string"
impact = "xs:string"
urgencyId = "xs:string"
serviceId = "xs:string"
questions = "xs:string"
resolutionDetails = "xs:string"
fileName = "xs:string"
changeType = "xs:string"
siteId = "xs:string"
siteName = "xs:string"
catalogId = "xs:string"
catalogName = "xs:string"
externalRefNumber = "xs:string"
bpmName = "xs:string"
questionFieldMap = "xs:string"
connectionMap = "xs:string"
connectionUpdateTimeline = "xs:boolean"
connectionTimelineVisibility = "xs:string"
}
}
$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.servicemanager/ChangeRequests"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.servicemanager/ChangeRequests",
"@method":"logChangeRequest",
"params":{
"summary":"xs:string",
"description":"xs:string",
"requestType":"xs:string",
"customerId":"xs:string",
"customerType":"xs:string",
"ownerId":"xs:string",
"teamId":"xs:string",
"employeeAssignmentId":"xs:string",
"status":"xs:string",
"priorityId":"xs:string",
"categoryId":"xs:string",
"categoryName":"xs:string",
"image":"xs:string",
"sourceType":"xs:string",
"sourceId":"xs:string",
"assetId":"xs:string",
"impact":"xs:string",
"urgencyId":"xs:string",
"serviceId":"xs:string",
"questions":"xs:string",
"resolutionDetails":"xs:string",
"fileName":"xs:string",
"changeType":"xs:string",
"siteId":"xs:string",
"siteName":"xs:string",
"catalogId":"xs:string",
"catalogName":"xs:string",
"externalRefNumber":"xs:string",
"bpmName":"xs:string",
"questionFieldMap":"xs:string",
"connectionMap":"xs:string",
"connectionUpdateTimeline":"xs:boolean",
"connectionTimelineVisibility":"xs:string",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}
In This Document