Home
Home
German Version
Support
Impressum
26.7 Release ►

Start Chat with Collection

    Main Navigation

    • Preparation
      • Connectors
      • Create an InSpire VM on Hyper-V
      • Initial Startup for G7 appliances
      • Setup InSpire G7 primary and Standby Appliances
    • Datasources
      • Configuration - Atlassian Confluence Connector
      • Configuration - Atlassian Confluence REST Connector
      • Configuration - Best Bets Connector
      • Configuration - Box Connector
      • Configuration - Connector for GraphQL
      • Configuration - COYO Connector
      • Configuration - Data Integration Connector
      • Configuration - Database Connector
      • Configuration - Documentum Connector
      • Configuration - Dropbox Connector
      • Configuration - Egnyte Connector
      • Configuration - GitHub Connector
      • Configuration - Google Drive Connector
      • Configuration - GSA Adapter Service
      • Configuration - HL7 Connector
      • Configuration - IBM Lotus Connector
      • Configuration - Jira Connector
      • Configuration - JVM Launcher Service
      • Configuration - LDAP Connector
      • Configuration - Microsoft Azure Principal Resolution Service
      • Configuration - Microsoft Dynamics CRM Connector
      • Configuration - Microsoft Exchange Connector
      • Configuration - Microsoft File Connector (Legacy)
      • Configuration - Microsoft File Connector
      • Configuration - Microsoft Graph Connector
      • Configuration - Microsoft Loop Connector
      • Configuration - Microsoft Project Connector
      • Configuration - Microsoft SharePoint Connector
      • Configuration - Microsoft SharePoint Online Connector
      • Configuration - Microsoft Stream Connector
      • Configuration - Microsoft Teams Connector
      • Configuration - Salesforce Connector
      • Configuration - SCIM Principal Resolution Service
      • Configuration - SemanticWeb Connector
      • Configuration - ServiceNow Connector
      • Configuration - Web Connector V2
      • Configuration - Web Connector
      • Configuration - Yammer Connector
      • Data Integration Guide with SQL Database by Example
      • Indexing user-specific properties (Documentum)
      • Installation & Configuration - Atlassian Confluence Sitemap Generator Add-On
      • Installation & Configuration - Caching Principal Resolution Service
      • Installation & Configuration - Mindbreeze InSpire Insight Apps in Microsoft SharePoint On-Prem
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze Web Parts for Microsoft SharePoint
      • User Defined Properties (SharePoint 2013 Connector)
      • Whitepaper - Migration of Sites Selected Permissions for the MS SharePoint Online Connector
      • Whitepaper - Migration of Tenant-Wide Permissions for the MS SharePoint Online Connector
      • Whitepaper - Mindbreeze InSpire Insight Apps in Salesforce
      • Whitepaper - Overview of Connectors
      • Whitepaper - Web Connector - Setting Up Advanced Javascript Usecases
    • Configuration
      • CAS_Authentication
      • Configuration - Advanced Configuration for Mail Delivery
      • Configuration - Alerts
      • Configuration - Alternative Search Suggestions and Automatic Search Expansion
      • Configuration - Back-End Credentials
      • Configuration - Chinese Tokenization Plugin (Jieba)
      • Configuration - CJK Tokenizer Plugin
      • Configuration - Collected Results
      • Configuration - CSV Metadata Mapping Item Transformation Service
      • Configuration - Entity Recognition
      • Configuration - Exporting Results
      • Configuration - Filter Plugins
      • Configuration - GSA Late Binding Authentication
      • Configuration - Identity Conversion Service - Replacement Conversion
      • Configuration - InceptionImageFilter
      • Configuration - Index-Servlets
      • Configuration - InSpire AI Chat and Insight Services for Retrieval Augmented Generation
      • Configuration - Item Property Generator
      • Configuration - Japanese Language Tokenizer
      • Configuration - JavaScript Transformer Plugins
      • Configuration - Kerberos Authentication
      • Configuration - Management Center Menu
      • Configuration - Metadata Enrichment
      • Configuration - Metadata Reference Builder Plugin
      • Configuration - Mindbreeze Proxy Environment (Remote Connector)
      • Configuration - OfficeDocumentToTextAndImages Filter Plugin
      • Configuration - Personalized Relevance
      • Configuration - Plugin Installation
      • Configuration - Principal Validation Plugin
      • Configuration - Profile
      • Configuration - Reporting Query Logs
      • Configuration - Reporting Query Performance Tests
      • Configuration - Request Header Session Authentication
      • Configuration - Shared Configuration (Windows)
      • Configuration - Vocabularies for Synonyms and Suggest
      • Configuration of Thumbnail Images
      • Cookie-Authentication
      • Documentation - Mindbreeze InSpire
      • I18n Item Transformation
      • Installation & Configuration - Outlook Add-In
      • Installation - GSA Base Configuration Package
      • JWT Authentication
      • Language detection - LanguageDetector Plugin
      • Mindbreeze Personalization
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • SAML-based Authentication
      • Trusted Peer Authentication for Mindbreeze InSpire
      • Using the InSpire Snapshot for Development in a CI_CD Scenario
      • Whitepaper - AI Chat
      • Whitepaper - Create a Google Compute Cloud Virtual Machine InSpire Appliance
      • Whitepaper - Create a Microsoft Azure Virtual Machine InSpire Appliance
      • Whitepaper - Create a Mindbreeze InSpire Appliance in Microsoft Azure Virtual Machine
      • Whitepaper - Create AWS 10M InSpire Appliance
      • Whitepaper - Create AWS 1M InSpire Appliance
      • Whitepaper - Create AWS 2M InSpire Appliance
      • Whitepaper - Create Mindbreeze InSpire Appliance in AWS GovCloud
      • Whitepaper - Create Oracle Cloud 10M InSpire Application
      • Whitepaper - Create Oracle Cloud 1M InSpire Application
      • Whitepaper - MMC_ Services
      • Whitepaper - Single Sign-On with Microsoft Entra ID or Active Directory Federation Services
      • Whitepaper - Text Classification Insight Services
    • Operations
      • Adjusting the InSpire Host OpenSSH Settings - Set LoginGraceTime to 0 (Mitigation for CVE-2024-6387)
      • app.telemetry Statistics Regarding Search Queries
      • Blacklisting vulnerable kernel modules esp4, esp6, rxrpc - (Mitigation for CVE-2026-43284 _ DirtyFrag)
      • CIS Level 2 Hardening - Setting SELinux to Enforcing mode
      • Configuration - app.telemetry dashboards for usage analysis
      • Configuration - Usage Analysis
      • Deletion of Hard Disks
      • Disabling algif_aead_init - (Mitigation for CVE-2026-31431)
      • Disabling the Keycloak “Forgot password” functionality (Mitigation for CVE-2026-18963)
      • FAQ - Creating Mindbreeze InSpire Appliances on Hyper Scalers
      • Handbook - Backup & Restore
      • Handbook - Command Line Tools
      • Handbook - Distributed Operation (G7)
      • Handbook - Filemanager
      • Handbook - Indexing and Search Logs
      • Handbook - Updates and Downgrades
      • Index Operating Concepts
      • Inspire Diagnostics and Resource Monitoring
      • Provision of app.telemetry Information on G7 Appliances via SNMPv3
      • Restoring to As-Delivered Condition
      • Whitepaper - Administration of Insight Services for Retrieval Augmented Generation
      • Whitepaper - Insight Workplace
      • Whitepaper - Mindbreeze in Microsoft Teams
      • Whitepaper - Mindbreeze in OpenAI ChatGPT
      • Whitepaper - Mindbreeze InSpire LLM - A Kubernetes Integration Guide
      • Whitepaper - Mindbreeze InSpire LLM - On-Premise Deployment Guide
      • Whitepaper - Mindbreeze InSpire LLM_ A Kubernetes Integration Guide
      • Whitepaper - Mindbreeze InSpire LLM_ On-Premise Deployment Guide
      • Whitepaper - Natural Language Question Answering (NLQA)
      • Whitepaper - Overview AI based Document Parsing, Transcriptions, and Semantic Index Pipeline
      • Whitepaper - Overview of Agentic AI and the Insight Workplace
      • Whitepaper - Using the Mindbreeze InSpire MCP Server
    • User Manual
      • Browser Extension
      • Cheat Sheet
      • iOS App
      • Keyboard Operation
    • SDK
      • api.chat.v1beta.generate Interface Description
      • api.v2.alertstrigger Interface Description
      • api.v2.export Interface Description
      • api.v2.personalization Interface Description
      • api.v2.search Interface Description
      • api.v2.suggest Interface Description
      • api.v3.admin.SnapshotService Interface Description
      • Debugging (Eclipse)
      • Developing an API V2 search request response transformer
      • Developing Item Transformation and Post Filter Plugins with the Mindbreeze SDK
      • Developing Item Transformation Launched Service with Mindbreeze SDK
      • Developing of Insight Apps with React
      • Development of a Query Expression Transformer
      • Development of Insight Apps
      • Embedding the Insight App Designer
      • Export and Integration of Personalization and Analytics Data with External Platforms
      • Java API Interface Description
      • OpenAPI Interface Description
      • SDK Overview
    • Release Notes
      • Release Notes 20.1 Release - Mindbreeze InSpire
      • Release Notes 20.2 Release - Mindbreeze InSpire
      • Release Notes 20.3 Release - Mindbreeze InSpire
      • Release Notes 20.4 Release - Mindbreeze InSpire
      • Release Notes 20.5 Release - Mindbreeze InSpire
      • Release Notes 21.1 Release - Mindbreeze InSpire
      • Release Notes 21.2 Release - Mindbreeze InSpire
      • Release Notes 21.3 Release - Mindbreeze InSpire
      • Release Notes 22.1 Release - Mindbreeze InSpire
      • Release Notes 22.2 Release - Mindbreeze InSpire
      • Release Notes 22.3 Release - Mindbreeze InSpire
      • Release Notes 23.1 Release - Mindbreeze InSpire
      • Release Notes 23.2 Release - Mindbreeze InSpire
      • Release Notes 23.3 Release - Mindbreeze InSpire
      • Release Notes 23.4 Release - Mindbreeze InSpire
      • Release Notes 23.5 Release - Mindbreeze InSpire
      • Release Notes 23.6 Release - Mindbreeze InSpire
      • Release Notes 23.7 Release - Mindbreeze InSpire
      • Release Notes 24.1 Release - Mindbreeze InSpire
      • Release Notes 24.2 Release - Mindbreeze InSpire
      • Release Notes 24.3 Release - Mindbreeze InSpire
      • Release Notes 24.4 Release - Mindbreeze InSpire
      • Release Notes 24.5 Release - Mindbreeze InSpire
      • Release Notes 24.6 Release - Mindbreeze InSpire
      • Release Notes 24.7 Release - Mindbreeze InSpire
      • Release Notes 24.8 Release - Mindbreeze InSpire
      • Release Notes 25.1 Release - Mindbreeze InSpire
      • Release Notes 25.2 Release - Mindbreeze InSpire
      • Release Notes 25.3 Release - Mindbreeze InSpire
      • Release Notes 25.4 Release - Mindbreeze InSpire
      • Release Notes 25.5 Release - Mindbreeze InSpire
      • Release Notes 25.6 Release - Mindbreeze InSpire
      • Release Notes 25.7 Release - Mindbreeze InSpire
      • Release Notes 25.8 Release - Mindbreeze InSpire
      • Release Notes 26.1 Release - Mindbreeze InSpire
      • Release Notes 26.2 Release - Mindbreeze InSpire
      • Release Notes 26.3 Release - Mindbreeze InSpire
      • Release Notes 26.4 Release - Mindbreeze InSpire
      • Release Notes 26.5 Release - Mindbreeze InSpire
      • Release Notes 26.6 Release - Mindbreeze InSpire
      • Release Notes 26.7 Release - Mindbreeze InSpire
    • Security
      • Known Vulnerablities
    • Product Information
      • Product Information - Mindbreeze InSpire - Standby
      • Product Information - Mindbreeze InSpire
    Home

    Path

    Sure, you can handle it. But should you?
    Let our experts manage the tech maintenance while you focus on your business.
    See Consulting Packages

    Configuration
    Connector for GraphQL

    IntroductionPermanent link for this heading

    The Connector for GraphQL connects the GraphQL API with the Mindbreeze InSpire search. This allows items that were fetched via GraphQL to be used in Mindbreeze Insight Apps. The connector iterates over all objects retrieved from the GraphQL API and transforms them into indexable entities for the Mindbreeze search index.

    Administrators can start with the configuration immediately, since the Connector for GraphQL is included in Mindbreeze InSpire by default.

    Core ConceptsPermanent link for this heading

    Data AcquisitionPermanent link for this heading

    • Authentication: The connector handles the necessary security handshake to access the GraphQL endpoint, ensuring authorized data retrieval.
    • GraphQL Queries: The connector uses configurable GraphQL queries to define exactly which fields and relationships should be fetched from the server.
    • Pagination: To handle large datasets, the connector implements pagination logic, iterating through result sets to ensure all available items are discovered and indexed.
    • Items: Each distinct entity returned by the GraphQL query (e.g., a "User", "Product", or "Document") is treated as an individual "Item" and mapped to a single Mindbreeze documents.

    Data Transformation & ExtractionPermanent link for this heading

    • JSONPath: The connector heavily uses JSONPath (RFC 9535) syntax. This allows administrators to define the path to a specific value (e.g., $.user.profile.email) via configuration.
    • JSONPointer (Deprecated): The connector supports JSONPointer (RFC 6901) syntax. This allows administrators to define the path to a specific value (e.g., /user/profile/email) via configuration.
    • Pivoting: A normalization step that transforms arrays of key-value pairs into objects.
      This simplifies subsequent metadata extraction.


    • Metadata Extraction: All data provided in an item is extracted and stored as metadata. Complex metadata is flattened to ease the access.
    • i18n Metadata Extraction: Mindbreeze i18n metadata is extracted from multi-language fields, allowing metadata displayed to users in the correct language.
    • Flattening: Recursively traverses nested JSON trees and converts them into underscore-separated properties (e.g., address_city), flattening nested data into simple metadata for more convenient access.
    • ACLs (Access Control Lists): The connector extracts security principals from the JSON response and maps them to GRANT or DENY permissions, ensuring that only authorized users can see the resulting search entries.

    Data Processing PipelinePermanent link for this heading

    The crawler orchestrates the retrieval of data from a GraphQL API and transforms it into indexed documents through a sequential pipeline of metadata enrichment and flattening.

    1. Authentication: Fetch an OAuth token to authorize API requests.
    2. Data Retrieval: Request objects from GraphQL using a defined query.
    3. Pagination Management: Large result sets are supported by using offset, cursor, or single-page retrieval. Note that pagination is handled independently; therefore, pivoting cannot be applied to the JSON items returned by the API.
    4. Item Processing: Iterate through every retrieved item and perform the following sequence:
      1. Pivoting: Execute sequential data transformations where each step builds on the previous.
      2. i18n Extraction: Extract internationalization (i18n) metadata based on the pivoting results.
      3. Main Metadata Assignment: Set primary metadata based on the pivoting results.
      4. ACL Metadata Assignment: Define access control lists (ACL) based on the pivoting results.
      5. Mindbreeze Item Metadata Extraction / Flattening: Convert nested structures into simple, flat metadata and a Mindbreeze item metadata.
      6. Indexing: Commit the final processed document to the search index.

    ConfigurationPermanent link for this heading

    This chapter explains the basic configuration of the Connector for GraphQL in a Quickstart Guide. If you need additional information for your use case, you will find a list of all settings in the following chapters.

    Quickstart GuidePermanent link for this heading

    Step 1: Creation of the indexPermanent link for this heading

    Add a new index in the tab “Indices” using the button “+ Add Index”. Select the desired “Index Node” and “Client Service” and select the option “Connector for GraphQL” in “Data Source”. Then confirm your entries with “Apply”.

    Step 2: Configuration of the data sourcePermanent link for this heading

    In the next step, the data source must be configured in the section “Data Sources”.

    The following settings must be set in the following sections to create a basic configuration:

    Setting

    Example

    Endpoint for GraphQL

    https://company-dev.atlassian.net/gateway/api/graphql

    Setting

    Example

    GraphQL Query

    query custom_query_name($cloudID: ID!, $cursor: String) {
        jira {
            issueSearchStable(
                cloudId: $cloudID
                first: 50
                after: $cursor
                issueSearchInput: {jql: "project = ‘DEV’"}
            ){
            totalCount
            edges {
                node {...}
            }
            pageInfo {
                hasNextPage
                endCursor
            }
         }
       }
    }

    Setting

    Example

    Pagination Type

    Choose the pagination type to be used:

    • Cursor
    • Offset

    Results Path

    Cursor based Pagination:

    $.data.jira.issueSearchStable.edges

    Offset based Pagination:

    $.data.GlideRecord_Query.kb_knowledge[‘_results’]

    Cursor pagination End Condition

    Only necessary when the setting “Pagination Type” is set to the option “Cursor”.

    The following options are available:

    • “Has Next Flag”
    • “No end cursor”
    • “No results”

    Setting

    Example

    Key Path

    $.sys_id.value  

    Save the configuration with “Save.” The basic configuration for the Connector for GraphQL is now completed.

    Available settingsPermanent link for this heading

    Section “Performance Settings” (Advanced Settings)Permanent link for this heading

    Setting

    Description

    Default setting

    Concurrent Filter and Index Dispatch Threads

    The number of threads dispatching data to the filter service and index service. If the number is smaller or equal to zero, serial dispatching is caused.

    10

    Connection Timeout (Seconds)

    Defines in seconds how long the connector will wait for a response before it cancels the API call.

    30

    Maximum Fetch Retries

    Defines the maximum number of retries that will be attempted, when the server sends certain throttling responses (e.g., 429).

    5

    User Agent

    Defines the header of the User Agent to be used for API calls.

    NON|SV|Mindbreeze|ConnectorForGraphQL/1.0

    Trust all SSL certificates

    Allows the use of unsecured connections.

    This can be used for test systems, for example.



    Attention: Must not be enabled in the production environment.

    Deactivated

    Section “Diagnostic Settings”Permanent link for this heading

    Setting

    Description

    Default Setting/Example

    Log all Requests

    When this setting is enabled, all requests to the GraphQL API are logged in a file named “request-log.csv.”

    Deactivated

    Dump Network Traffic

    When this setting is enabled, the system saves a log file for every GraphQL network request, including the full request, response bodies and headers.

    Attention: Be aware that secrets like authentication headers might also be written to the network dump files.

    Deactivated

    Dump Pivoting Results

    When this setting is enabled, metadata pivoting intermediate data structures are logged in the folder “pivoting-dump”.

    Deactivated

    Section “GraphQL Connection”Permanent link for this heading

    Setting

    Description

    Default Setting/Example

    Endpoint for GraphQL

    Defines the URL where GraphQL queries are sent to.

    Hint: The structure of the endpoint is dependent on the used data source, as shown in the column “Default Setting/Example”.

    Example of a ServiceNow endpoint:

    https://dev123456.service-now.com/now/nav/ui/classic/params/target/graphql-explorer.do

    Example of an Atlassian Jira endpoint:

    https://company-dev.atlassian.net/gateway/api/graphql

    GraphQL Credential

    Defines the credentials used to authenticate requests to the GraphQL endpoint.

    The following types of Credentials are supported:

    Type

    Used for…

    Username/
    Password

    BASIC-Authentication

    Password

    Static Token/API Key-Authentication

    OAuth 2

    OAuth2 Authentication

    Default Setting:
    None

    Section “Query”Permanent link for this heading

    Setting

    Description

    Example

    GraphQL Query

    Defines the GraphQL query.

    Query examples can be found in the chapters Cursor-based Pagination and Offset-based Pagination.

    Query Variable Value JSON

    Defines custom query variables that can be used in the GraphQL query.

    {“limit“:3}

    For more context, see the Query chapter in the chapters Cursor-based Pagination and Offset-based Pagination.

    Request Headers

    Defines custom headers that will be sent to the GraphQL endpoint.

    "X-ExperimentalApi": "JiraIssueSearch"

    Section “Pagination”Permanent link for this heading

    Setting

    Description

    Default Setting/Example

    Pagination Type*

    This setting defines which type of pagination should be used and whether the query utilizes cursor-based or offset-based pagination.

    The following options are available:

    Option

    Description

    None

    No pagination is done.

    Cursor

    The page iteration is done with cursors.

    Offset

    The page iteration is done with offsets (e.g. start, limit).

    None

    Results Path*

    A JSON-Path to the JSON value that defines the results array.

    Cursor Paged Pagination:

    $.data.jira.issueSearchStable.edges

    Offset Paged Pagination:

    $.data.GlideRecord_Query.kb_knowledge[‘_results’]

    Cursor pagination End Condition*

    This setting defines the condition used to determine when all available documents have been retrieved.

    Hint: Is not supported with offset pagination.

    Option

    Description

    Has Next Flag

    A Boolean flag is present that states the presence of another page.

    No end Cursor

    The last page won’t return a next cursor.

    No results

    No returned results means that no results are left.

    Default setting: “Has Next Flag”

    Values:
    “Has Next Flag”, “No end cursor”, “No results”

    Next Page Path

    A JSON-Path to the JSON value that defines, if there is a next page.

    Example:

    $.data.jira.issueSearchStable.pageInfo.hasNextPage

    For more information, see the Mindbreeze Configuration for Cursor Paged Pagination.

    Next Cursor Path

    A JSON-Path to the JSON value that defines the next cursor.

    Example:

    $.data.jira.issueSearchStable.pageInfo.endCursor

    For more information, see the Mindbreeze Configuration for Cursor Paged Pagination.

    Paging Variable Name

    Defines the variable that is sent with the query to control the next page iteration. The variable to be defined depends on the configured query and its properties.

    Example for Cursor Paged Pagination:

    cursor

    Example for Offset Paged Pagination:

    offset

    Section “Metadata Settings”Permanent link for this heading

    Setting

    Description

    Default Setting/Example

    Pivoting JSON Transformation

    A JSON path to the JSON Array that should be pivoted.

    Option

    Description

    Pivoting Array Path

    A JSON path to the JSON Array that should be pivoted.

    Pivoting Key Path

    A JSON path to the JSON Key that should be used for pivoting.

    Pivoting Value Path

    A JSON path to the JSON Value that should be used for pivoting.

    If this field is left blank, the entire element is used as the value for the pivot.

    See the chapter Examples for Pivoting.

    Key Path*

    A JSON path to the JSON value that acts as the unique key for Mindbreeze documents sent to the Mindbreeze filter and index service by the connector.

    Example:

    $.sys_id.value

    For more context, see the code example in the “Result” chapter in the chapter Offset-based Pagination.

    URL Path

    A JSON path to the JSON value that should be used as Mindbreeze document URL.

    Example:

    $.url.value

    Title Path

    A JSON path to the JSON value that defines the document’s title.

    If the title should be i18n metadata, the same path needs to be configured for the setting “I18N Metadata Extraction”.

    Example:

    $.text.value

    For more context, see the code example in the “Result” chapter in the chapter Offset-based Pagination.

    ‘Created Date’ Path

    A JSON path to the JSON value that specifies the document’s creation date.

    Example:

    $.sys_created_on.value

    For more context, see the code example in the “Result” chapter in the chapter Offset-based Pagination.

    ‘Modified Date’ Path

    A JSON path to the JSON value that specifies the document’s last modification date.

    Example:

    $.sys_updated_on.value

    For more context, see the code example in the “Result” chapter in the chapter Offset-based Pagination.

    Date Format

    The date pattern used to parse the values provided by the created and modified date paths.

    Hint: By default, the date format according to ISO 8601 is used. If a custom date format is needed, configure the date format here.

    Example:

    MM-dd'T'HH:mm'Z'

    Default Timezone

    The default timezone that is used for parsing dates without timezone.

    Example:

    America/Phoenix

    UTC

    Extension Path

    A JSON path to the JSON value that defines the file extension for the document.

    Example:

    $.extension.value

    Default Extension

    The fallback file extension used, if the previous setting “Extension Path” is configured or if the JSON does not contain the required value.

    Default setting:

    Json txt

    I18N Metadata Extraction

    Specifies the metadata containing the i18n values.

    If the data is provided as a JSON array, it must be pivoted first. All keys and values must be strings, and keys must comply with the ISO 639 standard.

    Option

    Description

    I18N Path

    A JSON path to the JSON object that contains the i18n metadata.

    See examples in the chapter Examples for i18n.

    GraphQL Prefix

    (Advanced Settings)

    This setting prepends a GraphQL prefix to the metadata.

    Default setting:

    grql

    Section “Content Settings”Permanent link for this heading

    The content for the documents will be provided by the JSONFilter.

    Setting

    Description

    Default Setting/Example

    Content Path

    A JSON path to the object that contains the content.

    Example:

    $.document.content

    Content Extraction Paths

    Multiple JSON paths, separated by newline, that localize the content in the JSON object provided by the setting “Content Path”.

    Default:

    $ (everything)

    Flatten Metadata

    If checked, metadata will be flattened for the object provided by the setting “Content Path”.

    Default:

    false

    Content Metadata Name

    The name for the content item metadata provided by the JSONFilter.

    Default:

    json

    Section “ACL Settings”Permanent link for this heading

    Setting

    Description

    Example

    Enable Default ACLs

    When this setting is enabled, the default principals from the following setting “Default ACL Principals” will be added as GRANT permissions for all documents.

    The principals are separated by newline.

    Default setting:

    Deactivated

    Default ACL Principals

    The principals defined in this setting will be added to the document’s GRANT principals.

    Example:

    marketing_group

    developer_group

    ACLs

    Defines the property used to populate the Access Control List.

    Option

    Description

    ACL Path

    A JSON path to the JSON value that specifies the document’s permissions / ACLs.

    ACL Separator

    The delimiter that is used for splitting ACL entries.

    ACL Type

    GRANT/DENY

    Hinweis:
    Per default the values are not split, so “group_x,group_y” would be added as a single principal but with delimiter “,” the principals “group_x” and “group_y” would be added.

    Grant access to ‘everyone’ per Default

    When this setting is enabled, search result access is granted to all users by default.

    This might be useful for public data.

    Default setting:

    Deactivated

    Examples of cursor based and offset based paginationPermanent link for this heading

    Cursor-based PaginationPermanent link for this heading

    The following examples utilize queries and responses from Atlassian Jira for illustrative purposes.

    Please note that this is just an example. For actual production crawling use cases, please use the dedicated Mindbreeze Atlassian Jira Connector instead to crawl Jira documents.

    QueryPermanent link for this heading

    The following query is defined:

    query custom_query_name($cloudID: ID!, $cursor: String) {

        jira {

            issueSearchStable(

                cloudId: $cloudID

                first: 50

                after: $cursor

                issueSearchInput: {jql: "project = 'DEV'"}

            ){

            totalCount

            edges {

                node {

                  summary

                }

            }

            pageInfo {

                hasNextPage

                endCursor

            }

         }

       }

    }

    The following configuration options are in the defined query:

    Configuration option

    Defined in the query as…

    Query variables

    cloudID

    Paging variable name

    cursor

    Results path

    edges

    Next page path / Next cursor path

    hasNextPage

    endCursor

    ResultPermanent link for this heading

    To see if the defined query creates the output that is needed, any GraphQL explorer can be used. Due to how the query is defined, the following query variable and header are also needed:

    Query variable

    {„cloudID“: „my-organization-1234“}

    Headers

    {"X-ExperimentalApi" : "JiraIssueSearch"}

    The result then looks like this:

    Since the defined query returns the expected results, the next step is to configure the query and the cursor-based pagination in Mindbreeze InSpire.

    Mindbreeze ConfigurationPermanent link for this heading

    To fully configure the defined query and the cursor-based pagination in Mindbreeze InSpire, the following settings must be configured in the following sections.

    Section “Query”:

    Setting

    Entry

    GraphQL Query

    As defined in the previous chapter “Query”:

    query custom_query_name($cloudID: ID!, $cursor: String) {

        jira {

            issueSearchStable(

                cloudId: $cloudID

                first: 50

                after: $cursor

                issueSearchInput: {jql: "project = 'DEV'"}

            ){

            totalCount

            edges {

                node {

                  summary

                }

            }

            pageInfo {

                hasNextPage

                endCursor

            }

         }

       }

    }

    Query Variable Value JSON

    {„cloudID“: „my-organization-1234“}

    Static variables (e.g., IDs or Project Names) should be configured within the „Query Variables” setting.

    Hint: Dynamic variables (e.g., cursors or offsets) must not be defined here, as their values change during execution.

    Regardless of the type, all variables must be defined as parameters within the query to ensure they can be modified during the crawling process.

    Section “Pagination”:

    Configuration Option

    Example value

    Description

    Pagination Type

    CURSOR

    The paging is done via cursor.

    Results Path

    $.data.jira.issueSearchStable.edges

    The “edges” contain the results array.

    Next Page Path

    $.data.jira.issueSearchStable.pageInfo.hasNextPage

    An identifier checks, if there is a next page.

    Next Cursor Path

    $.data.jira.issueSearchStable.pageInfo.endCursor

    The cursor fetches the next page.

    Paging Variable Name

    cursor

    This variable is defined in the query and is used to inject the new cursor that is fetched while crawling.

    The Mindbreeze configuration is then completed and can be saved.

    Offset-based PaginationPermanent link for this heading

    The following examples utilize queries and responses from ServiceNow for illustrative purposes.

    Please note that this is just an example. For actual production crawling use cases, please use the dedicated Mindbreeze InSpire ServiceNow Connector instead to crawl ServiceNow documents.

    QueryPermanent link for this heading

    The following query is defined:

    query get_knowledge_articles($offset: Int) {
        GlideRecord_Query {
            kb_knowledge(pagination: {limit: 2, offset: $offset}) {
                _results {
                    sys_id {
                        value
                    }
                    text {
                        value
                    }
                    sys_updated_on {
                        value
                    }
                    sys_created_on {
                        value
                    }
                }
            }
        }
    }

    The following configuration options are in the defined query:

    Configuration option

    Defined in the query as…

    Paging variable name

    offset

    Results path

    _results

    ResultPermanent link for this heading

    To see if the defined query creates the output that is needed, any GraphQL explorer can be used. Due to how the query is defined, only the query itself will be needed to get the following result:

    Since the defined query returns the expected results, the next step is to configure the query and the offset-based pagination in Mindbreeze InSpire.

    Mindbreeze ConfigurationPermanent link for this heading

    To fully configure the defined query and the offset-based pagination in Mindbreeze InSpire, the following settings must be configured in the following sections.

    Section “Query”:

    Setting

    Entry

    GraphQL Query

    As defined in the previous chapter “Query”:

    query get_knowledge_articles($offset: Int) {
        GlideRecord_Query {
            kb_knowledge(pagination: {limit: 2, offset: $offset}) {
                _results {
                    sys_id {
                        value
                    }
                    text {
                        value
                    }
                    sys_updated_on {
                        value
                    }
                    sys_created_on {
                        value
                    }
                }
            }
        }
    }

    Section „Pagination“:

    Configuration Option

    Example value

    Description

    Pagination Type

    OFFSET

    The paging is done via offset.

    Results Path

    $.data.GlideRecord_Query.kb_knowledge[‘_results’]

    “_results” contain the results array.

    Next Page Path

    Not used with offset pagination.

    Next Cursor Path

    Not used with offset pagination.

    Paging Variable Name

    offset

    This variable is defined in the query and is used to inject the new offset that is calculated while crawling.

    The Mindbreeze configuration is then completed and can be saved.

    Examples for PivotingPermanent link for this heading

    “Pivoting” refers to the process of converting a JSON array into a JSON object.

    Key/Value PivotingPermanent link for this heading


    Mindbreeze configuration:

    Key Pivoting 1Permanent link for this heading


    Mindbreeze configuration:

    Key Pivoting 2Permanent link for this heading



    Mindbreeze configuration:

    Examples for i18nPermanent link for this heading

    The Connector for GraphQL supports i18n metadata that can be configured in the metadata settings. Only JSON objects are supported as i18n metadata. All keys and values must be strings, and keys must comply with the ISO 639 standard.

    i18n Object metadataPermanent link for this heading

    Original:
    {

        "custom_objects": {

            "i18n": {

                "en": "Account ID",

                "es": "ID de cuenta",

                "fr": "ID du compte"

            }

        }

    }

    Mindbreeze configuration:

    I18N Array metadataPermanent link for this heading

    If i18n metadata is provided in a JSON array, it has to be pivoted first in order to resolve it.

    Original:
    {

        "custom_objects": {

            "i18n": [{

                    "lang": "en",

                    "val": "Account ID"

                }, {

                    "lang": "es",

                    "val": "ID de cuenta"

                }, {

                    "lang": "fr",

                    "val": "ID du compte"

                }

            ]

        }

    }

    Mindbreeze configuration for pivoting:

    Pivoting Result:

    {

        "custom_objects": {

            "i18n": {

                "en": "Account ID",

                "es": "ID de cuenta",

                "fr": "ID du compte"

            }

        }

    }

    Mindbreeze configuration for i18n:

    i18n TitlePermanent link for this heading

    If i18n metadata should be used as title metadata (multilingual title) the JSON path has to be configured in the settings “Title Path” and “I18N Path”.

    Download PDF

    • Configuration - Connector for GraphQL

    Content

    • Introduction
    • Configuration

    Download PDF

    • Configuration - Connector for GraphQL