Conversation
|
@Deenk , I seem to be running into repeated 500 errors on the Backup Management OOB dashboards. Looking at the logs, one of the offending endpoints seems to be
|
@gdorward This is probably because our license expired for the 'backups' module in NinjaOne. I'll investigate if that truly is the case and either request they fix it, or fix whatever is broken on our side depending on who's fault it is |
|
I'm getting this error on imports all of a sudden @Deenk - specifically importing devices:
|
I broke this during my testing adding more devices, pushing a fix for this now |
@gdorward this is now fixed |
@gdorward backups are now all fixed |
|
@Deenk Theres around 19 Data streams that don't support any timeframes but 'None' is not available in the dropdown. This is causing a lot of warnings across multiple OOBs as well as they are defaulting to 'None' |
|
|
||
| // Convert numeric IDs to strings | ||
| const idFields = ['deviceId', 'organizationId', 'locationId']; | ||
| idFields.forEach(field => { |
There was a problem hiding this comment.
Should we consider just setting the shape to string for this column, you shouldn't need to coerce it here.
| * @param {any} obj | ||
| * @returns {any} | ||
| */ | ||
| const convertTimestamps = (obj) => { |
There was a problem hiding this comment.
Shame to have to repeat this so much, but it's not easy to share the script functionality today - are you having to do this here because SquaredUp isn't recognising the timestamp format used by NinjaOne?
| "name": "totalPhysicalMemory", | ||
| "displayName": "Total Memory (Bytes)", | ||
| "shape": [ | ||
| "number", |
There was a problem hiding this comment.
Could you use the bytes shape for these columns & other streams? SquaredUp will use the most appropriate unit when formatting, i.e. you'll get 4.2GB rather than 421030505
| "mode": "none" | ||
| }, | ||
| "expandInnerObjects": true, | ||
| "endpointPath": "/v2/organization/{{objects[0].organizationId}}/locations", |
There was a problem hiding this comment.
Given this only works with a single object, we should set objectLimit here to avoid users selecting multiple objects?
| "mode": "none" | ||
| }, | ||
| "expandInnerObjects": false, | ||
| "endpointPath": "/v2/device/{{objects[0].deviceId}}/software", |
There was a problem hiding this comment.
Same again with the object limit
| "mode": "none" | ||
| }, | ||
| "expandInnerObjects": true, | ||
| "endpointPath": "/v2/ticketing/trigger/board/{{objects[0].boardId}}/run", |
| "h": 2, | ||
| "x": 0, | ||
| "y": 0, | ||
| "i": "sec-kpi-activethreats-001", |
There was a problem hiding this comment.
I think these IDs should be guids - though I know we don't have a full schema right now.
| }, | ||
| { | ||
| "category": "feedback", | ||
| "url": "https://feedback.squaredup.com/plugins/p/ninjaone", |
There was a problem hiding this comment.
This link looks dead - have we got an alternative page, or could use the support ticket page?
| "name": "name", | ||
| "type": { "value": "NinjaOne Organization" }, | ||
| "properties": [{ "organizationId": "id" }, "description", "nodeApprovalMode"], | ||
| "externalLink": "{{instanceUrl}}/app/organizations/{{id}}" |
There was a problem hiding this comment.
Should this be under properties?
Notably, I think you should be able to set links, but we might have an issue with the syntax as there's an open ticket: https://squaredup-eng.atlassian.net/browse/SAAS-9111?search_id=186f205d-1b37-4db8-801f-bc66ebaf628f
🧩 Plugin PR Summary📦 Modified Plugins
📋 Results
🔍 Validation Details✅
|

🔌 Plugin overview
🖼️ Plugin screenshots
Plugin configuration
Default dashboards
🧪 Testing
I have tested that every data stream returns unnested arrays and results. data types should all be correct for strings, numbers, dates
There are a number of ninjaone modules/add ons based on the licence tier of the customer. I already support the backups and tickets modules, but there are 5/6 more I could add support for later.
📚 Checklist