Skip to content

add servicenow data source#252430

Open
seanstory wants to merge 6 commits intomainfrom
seanstory/add-servicenow-data-source
Open

add servicenow data source#252430
seanstory wants to merge 6 commits intomainfrom
seanstory/add-servicenow-data-source

Conversation

@seanstory
Copy link
Member

@seanstory seanstory commented Feb 10, 2026

Summary

Closes https://github.com/elastic/search-team/issues/12864

Adds a ServiceNow datasource

Screenshot 2026-02-19 at 6 27 41 PM

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

Release note

Adds a ServiceNow: Search connector, for searching across records and knowledge bases, retrieving contents, metadata, and comments.

@seanstory seanstory changed the title Seanstory/add servicenow data source add servicenow data source Feb 10, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

🔍 Preview links for changed docs

@seanstory seanstory changed the title add servicenow data source [WIP] add servicenow data source Feb 13, 2026
Copy link
Member Author

@seanstory seanstory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self review for AI consumption

@seanstory
Copy link
Member Author

buildkite test this

@seanstory seanstory added release_note:feature Makes this part of the condensed release notes backport:skip This PR does not require backporting labels Feb 19, 2026
@seanstory seanstory changed the title [WIP] add servicenow data source add servicenow data source Feb 19, 2026
@seanstory seanstory marked this pull request as ready for review February 19, 2026 23:31
@seanstory seanstory requested review from a team as code owners February 19, 2026 23:31
Copy link
Contributor

@florent-leborgne florent-leborgne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments/questions on the docs before I approve :)

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
dataSources 180 182 +2
stackConnectors 688 691 +3
workflowsManagement 1298 1299 +1
total +6

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dataSources 198.3KB 199.5KB +1.2KB
stackConnectors 1.2MB 1.2MB +9.5KB
workflowsManagement 1.5MB 1.5MB +8.4KB
total +19.1KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
stackConnectors 81.0KB 81.0KB +72.0B
Unknown metric groups

async chunk count

id before after diff
dataSources 15 16 +1
stackConnectors 129 130 +1
total +2

History

Copy link
Contributor

@erikcurrin-elastic erikcurrin-elastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some questions about handlers and correct formatting...

@@ -0,0 +1,699 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems excessive for what is basically a bunch of mocks.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have a concrete suggestion/request? If AI is going to write and maintain an excessive number of tests, I'm not too bothered. I'd rather have the better coverage.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a ServiceNow data source connector for federated search capabilities, enabling users to search and retrieve records from ServiceNow instances including incidents, knowledge articles, change requests, and other record types.

Changes:

  • Added a new ServiceNow Search connector with OAuth2 client credentials authentication
  • Implemented comprehensive workflow definitions for search, retrieval, and data access operations
  • Added full test coverage and documentation for the connector

Reviewed changes

Copilot reviewed 22 out of 23 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
servicenow_search.ts Core connector implementation with actions for search, record retrieval, listing, and attachment handling
types.ts Zod schemas and TypeScript types for all connector action inputs
servicenow_search.test.ts Comprehensive unit tests covering all connector actions and error cases
workflows/*.yaml Workflow definitions for search, list, get, and attachment operations
data_type.ts Data source configuration integrating the connector with the catalog
servicenow-search-action-type.md User-facing documentation including setup instructions and API reference
all_specs.ts, connector_icons_map.ts, index.ts Registration and integration of the new connector

},
},

listTables: {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to describe a table? Or this method returns schema?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This method doesn't include the schema. The developer instance of ServiceNow I'm using for testing has "normal" serviceNow tables, so the LLM has been able to just rely on its training to figure out which columns to use. But I think this is a good point, and wont' hold up in a production scenario. I'll add a tool for explicit schema discovery.

@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #5 / CreateFlyout should render the flyout title

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
dataSources 180 182 +2
stackConnectors 688 692 +4
workflowsManagement 1306 1308 +2
total +8

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
dataSources 198.3KB 199.5KB +1.2KB
stackConnectors 1.2MB 1.2MB +10.1KB
workflowsManagement 1.5MB 1.5MB +9.0KB
total +20.3KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
stackConnectors 81.0KB 81.0KB +72.0B
Unknown metric groups

async chunk count

id before after diff
dataSources 15 16 +1
stackConnectors 129 130 +1
total +2

History

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting release_note:feature Makes this part of the condensed release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants