INDEX
Documentation Library
Search for information on Hornbill Documentation.
{{docApp.searchError}}
{{docApp.searchResultFilteredItems.length}} results for "{{docApp.currentResultsSearchText}}" in {{docApp.searchFilterBySpecificBookTitle}}
-
{{resultItem.title}}
{{resultItem.url}}
Have questions about this site?
What is this site?
- This website is Hornbill's new product documentation website and is currently under development.
- It is intended that all existing and future public-facing documentation we produce will be available to search, browse and share.
- Hornbill's current documentation is available at Hornbill Wiki but over time this content will be migrated to this documentation site.
- Please feel free to have a look around at any time.
Why has Hornbill created this site?
- Hornbill's products have moved on considerably since we introduced it almost 10 years ago. At the time, the MediaWiki tool was sufficient, but we have outgrown it.
- Our customers are more enterprise focused and more self-sufficient than ever before, so for 2023 and beyond we have established a new documentation platform and team to drive our documentation initiative forwards.
- We are aiming to deprecate the use of Hornbill Wiki for most Hornbill related documentation.
- We want to enable our growing partner network with product resources and information, documentation beyond our Wiki approach is required.
- We could definitely do with some help, and may even pay for some! If you have domain knowledge and would like to help, please check out our Hornbill Docs Contributor Guide and contact the Hornbill docs team at docs@hornbill.com.
What will this site be good for?
- Community contribution will be facilitated, encouraged, and most welcome.
- High quality documentation, will be kept up to date as rapidly as our products evolve.
- Real-time content search and discovery.
- Articles organized into books, books into libraries, creating a more natural and logical structure to our documentation.
- Legacy API documentation and various other documentation sources will all be consolidated into a single unified documentation system.
- Documentation available in browser as well as printable/viewable as PDF on demand.
- Personalized documentation experience, allowing dark/light mode, article subscriptions, social media sharing and other useful features.
- Almost all publicly available documentation on docs.hornbill.com will be open-source and available to fork on GitHub, allowing customers to derive their own custom documentation around Hornbill products should they wish to.
What is the timeline for this site?
- We have taken the decision to publish and make available early, there is very little content at this time.
- As and when we have completed/usable documentation, it will be published here.
- We have a host of additional features we wish to add over time, so please watch this space.
- We expect most of our existing documentation should be reviewed/migrated to docs.hornbill.com over the coming months.
- The documentation project will be ongoing, will continue to expand, evolve and improve day-by-day.
{{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. It is important to note that the parameters must satisfy the requirement of the input validation checks.
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