Jump to content

Gareth Cantrell

Hornbill Users
  • Posts

    160
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Gareth Cantrell

  1. We've had similar issues (dark red highlights) due to previous customisations of the following 2 settings (which worked fine in the old UI):

    • webapp.view.ITSM.serviceDesk.requests.list.unreadColour
    • webapp.view.ITSM.serviceDesk.requests.list.onHoldFontStyle

    Reverting these settings to defaults has solved the issues for us.

  2. Just to followup on this, I tried to synchronise the asset status from Certero, however the import utility is completely ignoring that field as well.

    It almost appears to be ignoring any integer fields in the source data.

    Also, the import utility completely ignores the software inventory for Apple devices, even though the configuration is nearly identical to the Windows configuration.

  3. It seems at some point, when saving workflows, random nodes had their result references cleared (you can't do this intentionally as you will get a warning and the workflow will refuse to save).

    Nodes with empty result references tend to behave normally if they are updating a request or locking/unlocking actions, however, it appears a suspend node without a result reference will never meet the condition to "un-suspend" and so the workflows end up suspended indefinitely.

    This is particularly the case where a suspend for resolution has had its result reference cleared and a resolution has been set.

    Manually resuming these is the only option, however, if any future node relies on the outcome of a suspend node, the workflow will fail.

  4. I have noticed a large number of in-flight requests suddenly missing the result reference in numerous BPM nodes.

    Some of these cleared result references are in stages not even reached yet.

    For example, this is from a process currently suspended in an earlier node, however once it reaches this particular node, it will fail as the result reference has mysteriously been cleared.

    image.png.d9fdcc61a98739de5380dac5f582e97e.png

    Finally, is there a bulk way to identify all requests with these issues and fix them?

    I really cannot be spending weeks going through all the in-flight requests to identify issues like this!!

  5. I'm trying to test an asset import configuration from Certero and am wondering why certain values refuse to update into Hornbill.

    Even though configured, the following attributes are not populating (even though data is present when I run the "Expand" query directly against Certero):

    • h_external_id
    • h_memory_info
    • h_max_memory_capacity

    ... and none of the Software Inventory is loaded at all.

    My test config looks as follows:

    {
        "KeysafeKeyID": 22,
        "LogSizeBytes": 1000000,
        "HornbillUserIDColumn": "h_attrib8",
        "SourceConfig": {
            "Source": "certero",
            "Certero": {
                "Expand": "ComputerSystemInventory($expand=OperatingSystem,ADUser($select=AccountName,LastLogonTimestamp)),ComputerSystemProcessorInfo,Object($select=LocationId,Status;$expand=Location,FieldDataItems($expand=Field)),AppleSystemSystemInfo,AppleSystemPhysicalMemoryArray,AppleSystemApplications($expand=AppleApplication),WindowsSystemBio,WindowsSystemPhysicalMemoryArray,WindowsSystemSystemEnclosure,WindowsSystemSoftwareProducts($expand=SoftwareProduct)"
            }
        },
        "AssetTypes": [
    	{
            "AssetType": "Laptop",
            "OperationType": "Both",
            "PreserveShared": false,
            "Query": "contains(ComputerSystemInventory/Manufacturer, 'Apple') and ComputerSystemInventory/ComputerName eq 'LONML11744'",
            "AssetIdentifier": {
                "SourceColumn": "{{.ComputerSystemInventory.ComputerName}}",
                "Entity": "AssetsComputer",
                "EntityColumn": "h_name"
            },
            "SoftwareInventory": {
                "AppIDColumn": "{{.AppleApplication.Name}}",
                "ParentObject": "AppleSystemApplications",
                "Mapping": {
                    "h_app_id":"{{.AppleApplication.Name}}",
                    "h_app_name": "{{.AppleApplication.Name}}",
                    "h_app_vendor":"{{.AppleApplication.Publisher}}",
                    "h_app_version":"{{.AppleApplication.Version}}",
    				"h_app_install_date": "{{.LastModified}}"
                }
            }
        }],
        "AssetGenericFieldMapping": {
            "h_name": "{{.ComputerSystemInventory.ComputerName}}",
            "h_asset_tag": "{{.ComputerSystemInventory.ComputerName}}",
            "h_description": "From Certero: {{.ComputerSystemInventory.Manufacturer}} ({{.ComputerSystemInventory.Model}})",
            "h_used_by": "{{if .ComputerSystemInventory.ADUser}}{{.ComputerSystemInventory.ADUser.AccountName}}{{else}}{{.ComputerSystemInventory.Username}}{{end}}",
            "h_room": "{{index (index .Object.FieldDataItems 4) \"Value\"}}",
            "h_external_id": "{{.ComputerSystemObjectId}}",
            "h_external_source": "Certero"
        },
        "AssetTypeFieldMapping": {
            "h_name": "{{.ComputerSystemInventory.ComputerName}}",
            "h_model": "{{.ComputerSystemInventory.Model}}",
            "h_manufacturer": "{{.ComputerSystemInventory.Manufacturer}}",
            "h_description": "From Certero: {{.ComputerSystemInventory.Manufacturer}} ({{.ComputerSystemInventory.Model}})",
            "h_serial_number": "{{if .WindowsSystemBio}}{{.WindowsSystemBio.SerialNumber}}{{else}}{{.AppleSystemSystemInfo.SerialNumber}}{{end}}",
            "h_mac_address": "{{.ComputerSystemInventory.MacAddress}}",
            "h_net_ip_address": "{{.ComputerSystemInventory.IpAddress}}",
            "h_net_computer_name": "{{.ComputerSystemInventory.ComputerName}}",
            "h_subnet_mask": "{{.ComputerSystemInventory.SubnetMask}}",
            "h_os_description": "{{.ComputerSystemInventory.OperatingSystem.Caption}}",
            "h_os_version": "{{.ComputerSystemInventory.OperatingSystem.VersionString}}",
            "h_cpu_info": "{{.ComputerSystemProcessorInfo.Model}}",
            "h_cpu_clock_speed": "{{.ComputerSystemProcessorInfo.ClockSpeed}}",
            "h_physical_cores": "{{.ComputerSystemProcessorInfo.Cores}}",
            "h_memory_info": "{{if .WindowsSystemPhysicalMemoryArray}}{{.WindowsSystemPhysicalMemoryArray.TotalMemory}}{{else}}{{.AppleSystemPhysicalMemoryArray.TotalMemory}}{{end}}",
            "h_max_memory_capacity": "{{.WindowsSystemPhysicalMemoryArray.MaxCapacity}}",
            "h_last_logged_on_user": "{{if .ComputerSystemInventory.ADUser}}{{.ComputerSystemInventory.ADUser.AccountName}}{{else}}{{.ComputerSystemInventory.Username}}{{end}}",
            "h_last_logged_on": "{{if .ComputerSystemInventory.ADUser}}{{.ComputerSystemInventory.ADUser.LastLogonTimestamp}}{{end}}"
        }
    }

     

  6. When trying to update an existing FAQ (in any service), we are getting an error about a missing "userLanguage" property:

    image.png.d03ee458456d3f341e24e78d05a41b69.png

    When trying to select one of our existing languages from the drop down, no options are presented so we are unable to save any changes..

    image.png.2f984f897bc1ce54a559a4f38c906ff2.png

     

    When adding a new FAQ, all the configured language options are given, however, once the FAQ has been initially saved, only the "default" language is displayed which means we cannot translate the FAQ into any of the other configured languages.

  7. 1 hour ago, David Hall said:

    @Gareth Cantrell

    Just checking is this happening every single time you use apply to email or on occasions?  Also are the emails in these cases correctly moving to the archive folder you expect?

    If that all looks correct then it might be better to log this with support so that we can take a look at your instance and diagnose the exact issue as I'm not currently able to replicate in our environment. 

    Kind regards,

    Dave

    You're right - this was happening for a different mailbox which didn't have the folder specified in application settings - not sure why it was working before this though.

    • Like 1
  8. 1 hour ago, Gareth Cantrell said:

    We are seeing the same issue and we're using the standard SR/IN reference format.

    image.thumb.png.6395ceb112797eb114d9aa57c2447f54.png

    On further investigation, it appears that the action did update the request multiple times, however the error about failing to apply the update is shown, even though successful.

  9. I have just noticed that the Entity Explorer has disappeared under all applications from the Advanced Tools & Settings section.

    Only the Platform Entity Explorer menu item is still available.

    Please could you urgently reinstate these as we rely on them for building our reports!

  10. We have been notified of some accessibility issues in all 3 modes (Light, Dark & High Contrast) in the new UI request list.

    In Light mode, links are rendered as blue text on a light blue background rendering the text almost impossible to read for users with colour blindness.

    In Dark mode, links in unread requests are also rendered in the same blue text on a blue background, also rendering these illegible to colour blind users.

    In High Contract mode, links un unread requests are rendered in yellow on a light yellow background and the rest of fields are rendered in white - this is illegible to all users.

    I have tried playing around with the webapp.view.ITSM.serviceDesk.requests.list.unreadColour application setting, and it has no discernible effect in any mode, except for light mode.

  11.  

    @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": ""
          }
        }
      ]
    }

     

  12. 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"
                }
            ]
        }
    }

     

  13. @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": "..."
        }
      }
    }

     

×
×
  • Create New...