Jump to content

Gareth Cantrell

Hornbill Users
  • Posts

    140
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Gareth Cantrell

  1. @SamS The Hornbill Certero integration is rooted at ComputerSystem. Object is a NavigationProperty of ComputerSystem, similar to ComputerSystemInventory. The full OData API call to Certero is: ComputerSystem?$expand=ComputerSystemInventory( $expand=OperatingSystem,ADUser($select=AccountName) ), ComputerSystemProcessorInfo, Object( $select=LocationId,Status;$expand=FieldDataItems ), WindowsSystemBio And the result (with values removed) is: { "@odata.context": "https://xxx.certero.com/api/odata/$metadata#ComputerSystem(ComputerSystemInventory(OperatingSystem(*),ADUser(AccountName)),ComputerSystemProcessorInfo(*),Object(LocationId,Status,FieldDataItems(*)),WindowsSystemBio(*))", "value": [ { "ComputerSystemObjectId": "", "ClientProducts": "", "ClientType": "", "ClientTypes": "", "ComputerSystemConfigurationId": "", "Modules": "", "NodeObjectId": "", "OperatingSystem": "", "ComputerSystemInventory": { "ComputerSystemObjectId": "", "ADUserObjectId": "", "ComputerDomain": "", "ComputerName": "", "EndpointServerObjectId": "", "IpAddress": "", "LastUpdate": "", "MacAddress": "", "Manufacturer": "", "Model": "", "NetworkObjectId": "", "OperatingSystemId": "", "SubnetMask": "", "Username": "", "Version": "", "Virtual": false, "OperatingSystem": { "OperatingSystemId": "", "BuildNumber": "", "Caption": "", "Family": "", "MajorVersion": "", "MinorVersion": "", "ProcessorArchitecture": "", "ProductType": "", "ReturnedProductType": "", "ServicePackMajor": null, "ServicePackMinor": null, "SuiteMask": "", "SystemMetrics": "", "VersionString": "" }, "ADUser": { "AccountName": "" } }, "ComputerSystemProcessorInfo": { "ComputerSystemObjectId": "", "CacheSizeK": "", "ClockSpeed": "", "Cores": "", "CoresPerCpu": "", "HTCapable": true, "HTEnabled": true, "LMExt": true, "LogicalCpus": "", "Manufacturer": "", "Model": "", "PhysicalCpus": "", "VMXExt": true }, "Object": { "Status": "", "FieldDataItems": [ { "FieldId": "1", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "", }, { "FieldId": "2", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": "", "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": null, }, { "FieldId": "3", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "", }, { "FieldId": "4", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "", }, { "FieldId": "5", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "", }, { "FieldId": "6", "ObjectId": "", "Value": "", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": "", "ValueAsString": null, } ] }, "WindowsSystemBio": { "WindowsSystemObjectId": "", "BiosMode": "", "Manufacturer": "", "Name": "", "ProductName": "", "ReleaseDate": "", "SMBIOSBIOSVersion": "", "SMBIOSUUID": "", "SecureBootEnabled": false, "SerialNumber": "" } } ] }
  2. Hi @SamS These are custom fields in Certero which we use to track things like building, stock room and floor number. They are retrieved with the following OData query snippet: ..., Object($expand=FieldDataItems), ...
  3. When configuring an asset import, given the following data structure, how can I go about accessing the list by index? For example, I would like to get the "Value" attribute from the record with FieldId 3. Would the following work: {{.Object.FieldDataItems[2].Value}} ? { "Object": { "Status": 0, "FieldDataItems": [ { "FieldId": 1, "ObjectId": 3, "Value": "KSDFSERWRE", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "KSDFSERWRE" }, { "FieldId": 2, "ObjectId": 3, "Value": "2023-09-27T00:00:00", "ValueAsBit": null, "ValueAsDate": "2023-09-27T00:00:00+01:00", "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": null }, { "FieldId": 3, "ObjectId": 3, "Value": "KLSDLSAD", "ValueAsBit": null, "ValueAsDate": null, "ValueAsFloat": null, "ValueAsInt": null, "ValueAsString": "KLSDLSAD" } ] } }
  4. @Berto2002 The query in 1d to activity:activityStreamQueryItem uses the activityID from the webhook and the accessToken from the previous request to getRequestRecord to return the activity record. The response from this request should be in the format below, and you should be able to get the "content" variable in Jira using: {{webResponse.body.params.activity.content}} params.activity.content responds to the h_content column in the h_buz_activities table. { "@status": true, "params": { "visibility": "...", "activity": { "id": "...", "actorInfo": { "userId": "...", "urn": "...", "firstName": "...", "lastName": "...", "name": "...", "onLineNow": true, "icon": "...", "onlineStatus": "...", "accountStatus": "...", "availabilityStatusInfo": { "id": 1, "status": "...", "flags": { "presentAtWork": true, "inWorkingTime": true, "doNotDisturb": false, "onCall": false, "requiresReturnDate": false } } }, "stream_id": "...", "stream_type": "...", "stream_owner_ref": "...", "icon": "...", "verb": "...", "title": "...", "titleNew": "...", "content": "The content of the timeline update will be here", "language": "...", "published": "...", "updated": "...", "likes": 0, "youLike": false, "read": true, "fileAttachment": [], "comment": [], "additionalCommentsCount": 0, "type": "...", "visibility": "...", "activityType": "...", "status": "..." } } }
  5. @Berto2002 Another typo on my part - you should use the JQL CONTAINS operator for text fields (~) (cf. JQL operators | Jira Software Cloud | Atlassian Support) so your JQL should look like: Hornbill_RequestID ~ "SR12345678"
  6. @Berto2002 I may have introduced a typo when I modified my test setup for the screenshot. The trigger expression should probably read: record.h_custom_x LIKE 'ABC-%' ... with out the brackets.
  7. UPDATE: we set the background colour to make the tiles visually distinguishable in Light mode but left the text colour unchanged - removing the background colour makes the tiles indistinguishable in all modes, but readable in the Dark and High Contrast modes.
  8. We've noticed a usability issue in the Preview UI with the Links widget in the portal in Dark and High Contrast modes. In the current UI, tiles are rendered with a dark font, however the tiles are not distinguishable from each other. In the preview UI, the tiles are visually distinguishable, however their titles are rendered in white, making them almost impossible to read. The titles are nearly unreadable in High Contrast mode in both the current and preview UI
  9. We also have issues with widgets, however ours are showing data, but only a single series when multiple series are configured. We have a support incident raised for this as well.
  10. We've had some feedback that hitting the Esc key whilst adding an update to a request clears the entire entry field. As one of my colleagues puts it, "no undo, no takesies backsies". Please could we have a popup to warn the user that all their work is about to be file-13'd so they have the option to cancel this action if they hit Esc by accident. I suspect there may be more entry fields where this happens, so having a global safeguard on entry fields for the Esc key would be our request.
  11. In the activity list, the name of the assigned user or team is displayed, however we'd also like, specifically in the case of a team assignment, to see the name of the user who completed the activity, similarly to how it is displayed when you click on the individual activity. Currently we have to copy this info (completion time and completion user) from the activity into multiple custom fields so the data is visible in the details section. Having this extra info in the activity list would satisfy the requirements from our external auditors and also allow us to free up 12 custom fields (in this particular scenario)
  12. If there isn't an option already (I looked but couldn't find anything), we'd like to have an alert or warning popup when an agent is creating a new request and tries to navigate away from the form when they have partially completed it. We have a number of agents who have had this happen and would like to be prompted if they inadvertently hit the back button or click a link which opens in the same page so that they don't lose all the details they have just input.
  13. @Berto2002 the mockup I shared above will update the Jira Cloud issue when a comment is added to a Hornbill request. Commenting on a Hornbill request from Jira is quite straightforward and can be achieved with a simple Jira automation. I have reworked the mockup and tested both in my Jira and Hornbill instances and the basic steps for each are as follows (with images attached for clarification): Comment Jira Issue on Hornbill update: Create a Jira automation to receive and process a webhook event from Hornbill (1a, 1b) Get an activity stream access token from Hornbill (1c) Use the access token to retrieve the activity record from Hornbill (1d) If the activity is an "Update", add the content to Jira issue as a comment. Create a Hornbill webhook that calls the URL of your Jira automation when a Requests:Updated event occurs (1e) Comment Hornbill on Jira update: Create a Jira automation that triggers when a comment is added (2a) Call Hornbill to update the request timeline with the comment (2b) These screenshots assume you have a Jira custom field, Hornbill Request ID that stores the Hornbill request ID and a Hornbill custom field, h_custom_33 that stores the Jira issue key 1a 1b 1c 1d 1e 2a 2b
  14. This morning whilst doing a demo, I noticed that the HUD in the portal is displaying checkpoints, even though the service is set to stages only. The old UI respects the stages only setting, but the preview does not.
  15. @NPAT you could do a call to data::entityBrowseRecords2 API with the following parameters: { "@service": "data", "@method": "entityBrowseRecords2", "params": { "application": "com.hornbill.servicemanager", "entity": "Requests", "matchScope": "all", "searchFilter": [ { "column": "h_status", "value": ["status.new","status.open"], "matchType": "exact" },{ "column": "h_fk_team_id", "value": ["ORG/TEAMID/"], "matchType": "exact" },{ "column": "h_ownerid", "value": [""], "matchType": "exact" } ] } }
  16. +1 this has recently been brought to our attention and seems to affect cards going back to July last year
  17. We're seeing the same issue, but only in the Preview UI. The AI Assist button is showing, with no options available to select. We've set integration.openai.enable to off in our instance.
  18. @Berto2002 I mocked up a quick Jira automation rule which could achieve what you're looking for and an example of how you'd setup the corresponding webhook in Hornbill:
  19. @Berto2002 In Jira Cloud, you can create an automation rule that is basically an HTTP end point which can accept JSON requests. In Hornbill, you can then setup a webhook which fires when a request is updated and push that to the end point of your Jira automation rule. To get the content of the customer update would require two more web request actions from Jira to Hornbill- one to retrieve the activity stream access token and then a 2nd request to retrieve the activity stream identified in the initial webhook request, and these would be subsequent actions on the same Jira automation rule.
  20. We use notices extensively to provide guidance for agents when dealing with requests, however we frequently get questioned about what to do, even though the answer is on-screen in the information notice. Currently, there are only 2 notice types: Information (rendered in a blue panel) and Alert (rendered in a red panel) We'd like to request some additional notice types, with different coloured panels which would help these to stand out: Warning (rendered in an amber panel) and Success (rendered in a green panel)
  21. +1 for us. This is something we had in our previous tool and was widely used and we get asked about this functionality from our users quite often since migrating to Hornbill.
  22. What permissions in Supplier Manager can I assign to a role to enable users in that role to be able to view the advanced analytics without giving them full admin access to the app?
  23. I dug around a little more, and it seems the groups which can appear are hardcoded (see the below screenshot of the Developer Console):
  24. @Steve Giller I have created a number of "Branch" groups, however they do not appear in the selection at all - even after logging out and in and clearing sessions. Edit: it works as you described for "Division", but still not for "Branch"
×
×
  • Create New...