Git Product home page Git Product logo

snow-import-plugin's People

Contributors

herve91 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

snow-import-plugin's Issues

pass objects from service now to Archi

Hi Herve91,

Is there a step by step document on this which can Guide us how to pass the objects from Service Now to Archi.
I saw "Read Me" document but that does-not instruct how to map.
Any help here is much appreciated

NumberFormatException when applying valid filter &sysparm_display_value=true on CI mapping

Hi Herve,

I've encountered a bug in the ServiceNow plugin which I hope you can easily resolve soon (I know you're a busy man).

I'am trying to return results with display labels using the filter in the CI mappings of the ini file:

archi.elements.cmdb_ci_app_server.filter = &sysparm_display_value=true

This generates the following URL REST request:

https://{instance}.service-now.com/api/now/table/cmdb_ci_app_server?sysparm_limit=150000&sysparm_fields=operational_status,sys_id,name,short_description,sys_class_name,owned_by,tcp_port,type,version,sys_updated_on,sys_updated_by,u_asset_risk_score,sys_created_on,sys_created_by,u_dr_priority,sys_id,name,location,sys_class_name&sysparm_exclude_reference_link=false&sysparm_query=operational_status=1,&sysparm_display_value=true

and from the log it can be seen that the response is successfully returned, however a NumberFormatException is thrown, because the <operational_status> is returning a String (display label) and is expected as a number, i.e. 1 - Operational.

It would be great if you could handle this filter such that if when set to true the logic also recognises the string value of Operational. Even better is if you the plugin handles the filter with the value of 'all' then both the actual value and display name is returned, and if it either can be referenced.

I want to use it to create Archi concept folder names based on the display lablel not the actual database value, i.e.

archi.elements.cmdb_ci_app_server.folder = "Enterprise ServiceNow ITSM"/"Software"/"Application Servers"/sys_class_name

where sys_class_name returns the display label if the filter is specified.

Specifying a filter is being added as a separate sysparm_query and is ignored by SN

If a filter is used on Archi CI mapping it will not work because it is being added to the URL as a second sysparm_query parameter in addition to the operational_status=1 and is therefore ignored.

without any filter the plugin always adds

&sysparm_query=operational_status=1

If filter as follows is used then the URL will add sysparm_query as shown below:

archi.elements.*.filter = virtual=true
or
archi.elements.cmdb_ci_linux_server.filter = virtual=true

Resulting url will have:

&sysparm_query=operational_status=1,&sysparm_query=virtual=true

Latter virtual filter is ignored by SN

It only works if the filter is added as a logical AND using the caret '^' character, i.e.

&sysparm_query=operational_status=1^virtual=true

Apologies in advance if I missed something and nothing using it correctly.

Exception encountered due to whitespace in link value to be dereferenced

With the default setting to dereference links (&sysparm_exclude_reference_link=false) the value returned and then being dereferenced contains whitespaces and causes the exception from what I can tell.

Value here is Technical Services South

2019-10-01 12:12:15 TRACE 1240:MyImporter - Following reference link to URL https://nextdev.service-now.com/api/now/table/sys_user_group/Technical Services South 2019-10-01 12:12:15 ERROR 1256:MyImporter - Failed to get URL from ServiceNow. org.archicontribs.servicenow.MyException: Error reported by ServiceNow website : code 400 at org.archicontribs.servicenow.MyConnection.get(MyConnection.java:66) at org.archicontribs.servicenow.MyImporter.getJsonField(MyImporter.java:1244) at org.archicontribs.servicenow.MyImporter.getJsonField(MyImporter.java:1191) at org.archicontribs.servicenow.MyImporter.expand(MyImporter.java:1438) at org.archicontribs.servicenow.MyImporter.doImport(MyImporter.java:588) at com.archimatetool.editor.actions.ImportIntoModelAction.run(ImportIntoModelAction.java:37) at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568) at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4131) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1055) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3944) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3547) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at com.archimatetool.editor.Application.start(Application.java:84) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597) at org.eclipse.equinox.launcher.Main.run(Main.java:1476)

Is it possible to add an explicit license?

Hi Hervé,

Some colleagues would like to use this plugin, but I can't find any real license in this repo (there is a license file which is almost empty). Would it be possible for you to add an explicit license, such as the MIT one that we use for all Archi related work. If needed, here an example of our license file.

Regards,

JB

When Java exception is thrown due to JSON parse log the raw JSON for the culprit CI

To improve on error handling and better diagnostics it would be good where an exception is thrown due to the format of the JSON an error is logged with the part of the response that caused the exception. Crucially, the sys_id of the parent/relationship/child would be handy to trace that back in SN.

When parsing our CMDB I'm see the following, but due to the size of the data set and lack of verbose message log I cannot pinpoint:

2019-09-18 12:58:32 DEBUG 719:MyImporter - Generated URL is https://nextdev.service-now.com/api/now/table/cmdb_rel_ci?sysparm_limit=850000&sysparm_fields=operational_status,sys_id,parent,type,sys_class_name,child&sysparm_query=&sysparm_exclude_reference_link=false
2019-09-18 12:58:35 TRACE 71:MyConnection - Getting relations from ServiceNow webservice ...
2019-09-18 12:59:33 TRACE 87:MyConnection - Read 65055088 bytes from ServiceNow webservice.
2019-09-18 12:59:34 FATAL 16:MyPopup - Cannot get relations from ServiceNow web service: org.codehaus.jackson.JsonParseException: Unexpected character (']' (code 93)): expected a value at [Source: java.io.StringReader@624fedfd; line: 1, column: 65054829]
2019-09-18 13:03:01 INFO 916:MyImporter - 0 relations have been modified: 0 created, 0 updated, 0 removed.

Fetching and parsing SN relationships per type instead of all in a single request

Hi Herve,

In relation to the issues already raised and having tried the latest v1.7 I wanted to put forward a suggestion to improve the working of the import of large data sets. It is expected that relationships data set will be the largest, even bigger than any of the CI tables and have to retrieve them in a single REST request may well be inefficient and hide problem areas.

I noticed that in v1.7 the URL generated has a query filter inbuilt to fetch relationships that are IN the given lists of type sys_ids. My suggesstion is to instead of a single URL request for all relationship types, can you instead iterate the given types in the ini file and generate and send a URL REST request per type, so the JSON response is only in context to that type parsing and adding to the Archi model. I see this as being much more efficient as the JSON response will be smaller and if there is a particular failure due to a specific relationship type or size of response then it is clearly seen in the log file as progress will have been shown up to that types' request/import.

Hopefully, you can follow what I mean here, but here is some pseudo description:

for N iterate through relationship types specified in ini file
{
Generate URL request for N type
MyConnection send the request and receive JSON response
Parse the resopnse as usual and create Archi elements
Move on to next type in list
}

Thanks,
Manjit

Plugin not working with Archi 4.8.1

I have Archi 4.8.1 installed with the Database export plugin. I tired to add the SNOW plugin (downloaded the org.archicontribs.servicenow_1.7.2.archiplugin file and installed through help>manage plugins). I get a response that "org.archicontribs.servicenow_1.7.2.archiplugin - is not an Archi Plug-in". I have downloaded the file twice to make sure It wasn't corrupt or a bad download.

Plugin not working with 2FA authent

Hey,

I gave a try to the plug in as my company uses service now extensivly and wanted to give it a go.
But when I run the plug in it fetch a 401, and I think it has to come from the authent used. My company uses Google Account with 2FA to authenticate to Service Now, I have put my credential data in the ini file but I don't get how the plug in can go through the 2FA by itself.

Is this a limitation ? Is it possible to give a token to the script ? I won't have the possibility to disable 2FA to test this out.

The log of the run:

2022-07-18 10:33:49 INFO   220:MyImporter           - =====================================
2022-07-18 10:33:49 INFO   221:MyImporter           - Starting ServiceNow import plugin ...
2022-07-18 10:33:49 INFO   222:MyImporter           - Getting properties from /Users/jpalon/Downloads/archimateSnow.ini
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property SNowPlugin.version = 1.7.2
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property http.proxyHost not found
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property http.proxyPort not found (defaulting to 0)
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property http.proxyUser not found
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property http.proxyPassword not found
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property servicenow.site = https://XXXXX.service-now.com
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property servicenow.user = XXXXXXX
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property servicenow.pass = @@@@@@@@@@
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property servicenow.sysparm_limit = 1000000
2022-07-18 10:33:49 INFO   297:MyImporter           - Getting elements from ServiceNow ...
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.id = sys_id
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.name = name
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.documentation = short_description
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.folder = sys_class_name
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.filter not found (defaulting to )
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.import_mode = create_or_update_only
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.company = company#name
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.date = ${date:dd/MM/yyyy HH:mm/ss}
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.oasis_created_by = sys_created_by
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.oasis_created_on = sys_created_on
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.oasis_updated_by = sys_updated_by
2022-07-18 10:33:49 DEBUG  108:MySortedProperties   -    property archi.elements.*.property.oasis_updated_on = sys_updated_on
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = cmdb_ci_aix_server
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.snow_table = cmdb_ci_aix_server
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.archi_class = "Node"
2022-07-18 10:33:51 INFO   352:MyImporter           - Found keyword "cmdb_ci_aix_server": mapping ServiceNow CIs from table cmdb_ci_aix_server to Archi "Node"
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.id not found (defaulting to sys_id)
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = sys_id
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.name not found (defaulting to name)
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = name
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.documentation not found (defaulting to short_description)
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = short_description
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.folder = "Serveurs"/"AIX"/os
2022-07-18 10:33:51 TRACE 1305:MyImporter           -       --> found constant = "Serveurs"
2022-07-18 10:33:51 TRACE 1305:MyImporter           -       --> found constant = "AIX"
2022-07-18 10:33:51 TRACE 1311:MyImporter           -       --> found field = os
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.importMode not found (defaulting to create_or_update_only)
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.property.processor = processor#display_name
2022-07-18 10:33:51 TRACE 1344:MyImporter           -       --> found field = processor (then field display_name in the reference link)
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.property.pvus_per_core = processor#processor_mapping#pvus_per_core
2022-07-18 10:33:51 TRACE 1344:MyImporter           -       --> found field = processor (then field processor_mapping in the reference link)
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property company = company#name
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.company = company#name
2022-07-18 10:33:51 TRACE 1344:MyImporter           -       --> found field = company (then field name in the reference link)
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property oasis_created_on = sys_created_on
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.oasis_created_on = sys_created_on
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = sys_created_on
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property date = ${date:dd/MM/yyyy HH:mm/ss}
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.date = ${date:dd/MM/yyyy HH:mm/ss}
2022-07-18 10:33:51 TRACE 1335:MyImporter           -       --> found variable = ${date:dd/MM/yyyy HH:mm/ss}
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property oasis_updated_by = sys_updated_by
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.oasis_updated_by = sys_updated_by
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = sys_updated_by
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property oasis_updated_on = sys_updated_on
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.oasis_updated_on = sys_updated_on
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = sys_updated_on
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property oasis_created_by = sys_created_by
2022-07-18 10:33:51 DEBUG  428:MyImporter           -    Found archi.elements.*.property.oasis_created_by = sys_created_by
2022-07-18 10:33:51 TRACE 1349:MyImporter           -       --> found field = sys_created_by
2022-07-18 10:33:51 DEBUG  108:MySortedProperties   -    property archi.elements.cmdb_ci_aix_server.filter not found (defaulting to )
2022-07-18 10:33:51 DEBUG  460:MyImporter           -    Generated URL is https://XXXXXX.service-now.com/api/now/table/cmdb_ci_aix_server?sysparm_limit=1000000&sysparm_fields=operational_status,sys_id,name,short_description,os,processor,processor,company,sys_created_on,sys_updated_by,sys_updated_on,sys_created_by&sysparm_exclude_reference_link=false&sysparm_query=operational_status=1
2022-07-18 10:33:51 FATAL   16:MyPopup              - Cannot get CIs from ServiceNow web service: 
org.archicontribs.servicenow.MyException: Error reported by ServiceNow website : code 401
        at org.archicontribs.servicenow.MyConnection.get(MyConnection.java:66)
        at org.archicontribs.servicenow.MyImporter.doImport(MyImporter.java:466)
        at com.archimatetool.editor.actions.ImportIntoModelAction.run(ImportIntoModelAction.java:37)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
        at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4565)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1545)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1530)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4351)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3927)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
        at com.archimatetool.editor.Application.start(Application.java:81)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
2022-07-18 10:33:51 FATAL   23:MyPopup              - MyException: Error reported by ServiceNow website : code 401
org.archicontribs.servicenow.MyException: Error reported by ServiceNow website : code 401
        at org.archicontribs.servicenow.MyConnection.get(MyConnection.java:66)
        at org.archicontribs.servicenow.MyImporter.doImport(MyImporter.java:466)
        at com.archimatetool.editor.actions.ImportIntoModelAction.run(ImportIntoModelAction.java:37)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
        at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
        at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4565)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1545)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1530)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4351)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3927)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1154)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1045)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
        at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
        at com.archimatetool.editor.Application.start(Application.java:81)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
2022-07-18 10:33:56 INFO   628:MyImporter           - 0 elements have been modified: 0 created, 0 updated, 0 removed.

Any help is appreciated.

Relationships

Good morning again Herve91,

I have already managed to pass the objects from Service Now to Archi. Thank you very much!

Now, I am trying to pass the service now relations to Archi and I have some doubts.

1- How should the relationships included in Service Now be so that Archi can read them?

2- Where do you get the id of each relationship? For example: 0454da4c6f7e9940f0721cef8d3ee4b9

3- Do you have to do a mapping for each relationship?

It would be very helpful if you could explain to me the relationship part of the serviceNow.ini file with an example of a Service Now table. You can do it?

Many thanks again and I await your comments.

Greetings,
Javier.

Feature request: support ServiceNow plugin in ACLI

Based on our discussion on the Archi forum it would be of great benefit to have the 'import ServiceNow' available as a command line option of the ACLI. The CSV and XML Open Exchange Import is already supported, and would be great if SN plugin added an option keeping in line with the current CLI standard. It would look like:

Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --servicenow.import <*.ini file>

Existing import options support of the format:

Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --csv.import <*.csv file>
Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --xmlexchange.import <*.xml file>

Thanks,
Manjit

Add filter on URL of import of relationships - useful for large sets

There is already a filter option for Archi elements and not currently available for Relationships. This request is raised for the ability to specify a "filter" property which is added to the "sysparm_query" part of the request.

E.g. URL comprises of: sysparm_query=x_snsab_snow_sam_i_snow_checksumISNOTEMPTY

Also, there is no instructions on how to specify filters even of Archi elements and would be useful to have this documented in the ini file, as the filter can be many variations. Also can I specify multiple filters and if so how, some examples would be helpful.

Plugin is not working with Archi4.5

Hello,
I used the plugin with Archi 4.4 with no problem. When I upgraded to 4.5, it stopped pulling from SN.
Is there something you can suggest?

log4j vulnerability

Hi

I am not technical expert - but noted that there is reference to LOG4J in the code.

Just wanted to ask if there is any risk regarding the log4j vulnerability that have been exposed ?

Can it be confirmed that this do not apply to the snow-import-plugin ?

Thanks in advance.

INI Configuration

Buenos días herve,

necesito integrar Service Now con Archi. He instalado el plugin para Archi 4 pero tengo probelmas para entender el archivo .ini. ¿podrías echarme una mano para configurar el archivo?

Gracias y un saludo,
Javier.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.