elastic / connectors

Source code for all Elastic connectors, developed by the Search team at Elastic, and home of our Python connector development framework
https://www.elastic.co/guide/en/enterprise-search/master/index.html
Other
70 stars 125 forks source link

[Service Now] - Add "Time" and "Tasks" as supported services #2512

Closed gbocchini closed 3 months ago

gbocchini commented 4 months ago

Problem Description

Currently, the ServiceNow Connector supports out of the box only the following services: User, Incident, Requested Item, Knowledge, Change Request.

This issue would implement the possibility of ingesting info from other services like “Time” and “Tasks”.

Proposed Solution

Add “Time” and “Tasks” and supported services out-of-the-box for the ServiceNow connector.

praveen-elastic commented 4 months ago

Hi @gbocchini, we were able to find "Task" service, and able to sync info from it. However, we are unable to locate "time" service. Can you please elaborate what exactly is the time service ?

gbocchini commented 4 months ago

Hey @praveen-elastic , will ask the user to provide a sample/print screen! :D

gbocchini commented 4 months ago

@praveen-elastic, this is what they are aiming: https://docs.servicenow.com/bundle/washingtondc-platform-administration/page/administer/time/time-configuration-landing.html

As far as I understood by reading the SNOW docs this is customizable, meaning: you can build any tables crossing data from "Tasks" for example.

Thanks!

praveen-elastic commented 4 months ago

Got it, I checked with the developer of this connector, quoting his words:

"This looks like a custom table. As the connector supports custom tables, in order to sync custom table, you need to mention that table name explicitly in configured services.

Note: configuring * in the services will only fetch default tables(services): User, Incident, Requested Item, Knowledge, Change Request.. If a custom service is configured, any of the default table won't be fetched unless you mention those table names too in the configuration.

gbocchini commented 4 months ago

Niiiiiice! Didn't know! Will KB this one! Might be useful for others! :)

ppf2 commented 3 months ago

Note: configuring * in the services will only fetch default tables(services): User, Incident, Requested Item, Knowledge, Change Request.. If a custom service is configured, any of the default table won't be fetched unless you mention those table names too in the configuration.

Thanks! Is the behavior of * (i.e. it does not pick up custom objects/tables) consistent across all connectors that allow the use of *? Can we identify all the connectors that share the same behavior? It will be helpful to get this behavior documented for each affected connector. @praveen-elastic @seanstory @leemthompo

seanstory commented 3 months ago

No, * means different things for different connectors, and is not even supported across all connectors. I expect this is specific to ServiceNow.

ppf2 commented 3 months ago

Thanks, created a PR against ServiceNow documentation only: https://github.com/elastic/enterprise-search-pubs/pull/4466

leemthompo commented 3 months ago

@praveen-elastic we found the explanation above slightly unclear, could you clarify which of these wordings is correct? Thx!

  1. If you have configured a custom service, the * value will not fetch data from the basic services above by default. In this case you'll need to mention these service names explicitly.

  2. * will only fetch the list of basic services listed above. If a custom service is configured, you must explicitly include the custom service name in the configuration as well.

praveen-elastic commented 3 months ago

Hey, @leemthompo the first one sounds correct.

praveen-elastic commented 3 months ago

Marking this as completed, feel free to reopen if there are any concerns