Skip to main content
Kinetic Community

Kinetic Core Adapter

Overview

The Kinetic Core Adapter is an adapter that is installed into Kinetic Bridgehub that allows data from Kinetic Core (including Kinetic Request CE) to be pulled back using bridging.

Installation

Note: Check to ensure that this adapter isn't already installed into your bridgehub as part of the base installation before undertaking the installation tasks.

  • Download the kinetic-bridges-adapter-kineticcore.jar file and it's dependencies here
  • Put all of the downloaded files into the WEB-INF/lib folder for you kinetic-bridgehub installation
  • Restart the tomcat that your kinetic-bridgehub installation is located in

Setup

Configuration Values

Name Description
Username The username that will be used to access the Kinetic Core information
Password The password that is associated with the username
Kinetic Core Space Url The url of the Kinetic Core instance up to and including the space that you want to be retrieving data from

Example Configuration

Name Value
Username user@acme.com
Password secret-password
Kinetic Core Space Url https://localhost:8080/kinetic/spaceSlug

Structures, Fields, and Queries

The following is a list of structures along with the fields and query strategies that can be used for each of them.

Forms

Fields

  • Fields from the Form object in the Kinetic Core API
  • Example/Useful fields
    • name
    • slug
    • description
    • type
    • attributes

Queries

  • Any returned field can be searched (field/value) and any search except kappSlug can include the wildcard character (%)
  • kappSlug=kapp is required to be included in the query when retrieving forms

Kapps

Fields

  • Fields from the Kapp object in the Kinetic Core API
  • Example/Useful fields
    • name
    • slug
    • attributes

Queries

  • Any returned field can be searched (field/value) and any search except kappSlug can include the wildcard character (%)

Submissions

Fields

  • Any field from the Submission object in the Kinetic Core API
  • Access specific value fields by including values[Field Name] as a field
    • ie. To get a value with a name of Parent Group, the field would be values[Parent Group]
  • Example/Useful fields
    • id
    • submittedAt
    • values
    • values[Label]

Queries

  • Retrieve a single submission:
    • By id: id={submissionId}
      • ie. id=27153722-efb6-467f-9b4f-0fee4b177c08
      • Retrieving by id is only available in the retrieve method
    • Using the searching syntax described below is allowed if a query that guarantees a unique submission is used
  • Search for a submission
    • A kappSlug is required for each search query (kappSlug={slug})
    • formSlug can be optionally provided to query against properties/values from a specific form (formSlug={slug})
    • Using the query syntax from the Kinetic Core API, more specific searching can be done:
      • Search for specific field values on a form
        • kappSlug=internal&formSlug=company-info&q=values[Company]="Kinetic Data" AND values[Department]="Development"
      • Search values using an OR or contained in a list
        • kappSlug=internal&formSlug=company-info&q=values[Company]="Acme" OR values[Company]="Kinetic Data"
        • kappSlug=internal&formSlug=company-info&q=values[Company] IN ("Acme","Kinetic Data")
      • Search for a null field
        • kappSlug=internal&formSlug=company-info&q=values[Department Lead]=null
      • Search by parent submissions
        • parent={parentId}
      • Search by ancestor submissions
        • ancestor={ancestorId}
      • More info on querying submissions can be found in the Kinetic Core API documentation under the submissions endpoint

Teams

Fields

  • Any field from the Team object in the Kinetic Core API
  • Can retrieve attributes by including attributes[Attribute Name] as a field
  • Example/Useful fields
    • attributes
    • createdBy
    • description
    • name
    • slug
    • updatedAt

Queries

  • Retrieve by a single team
    • slug={slug}
      • slug=7a1920d61156abc05a60135aefe8bc67
    • Using the searching syntax described below is allowed if a query that guarantees a unique user is used
  • Search for a team
    • Any returned field can be searched (field=value)
      • ie. name=Kinetic Task::Administrators
    • Any search can also use a wildcard character - use the percent sign (%) as a wildcard
      • ie. name=Kinetic Task::%
    • To search for a pattern across multiple fields, use pattern={string}&fields={comma separated fields to match against}
      • ie. pattern=task&fields=attributes[Group Application],name
    • Exclude teams from a search (exclude={name})
      • Any excluded teams also exclude all of the excluded teams children (exclude=Role excludes both Role and Role::Vendor)
      • ie. exclude=Default&exclude=Role::Vendor
    • Search based on user membership (memberships[username]={username})

Users

Fields

  • Any field from the User object in the Kinetic Core API
  • Can retrieve attributes and profileAttributes by including attributes[Attribute Name] as a field
    • ie. To get an attribute with a name of Group, the field would be attributes[Group]
  • Example/Useful fields
    • displayName
    • username
    • spaceAdmin
    • email
    • enabled
    • attributes[Attribute Name]
    • profileAttributes[Attribute Name]

Queries

  • Retrieve by a single user
    • username={username}
    • Using the searching syntax described below is allowed if a query that guarantees a unique user is used
  • Search for a user
    • Any returned field can be searched (field=value)
    • Any search can also use a wildcard character - use the percent sign (%) as a wildcard
    • To search for a pattern across multiple fields, use pattern={string}&fields={comma separated fields to match against}
      • ie. pattern=tom&fields=displayName,email,username
        • This essentially works as an OR across multiple fields. The example is checking if "tom" is included in one of the displayName, email, or username fields.
    • To search based on what Team a user belongs to, use team={team name}
      • ie. team=Kinetic Task::Administrators

Datastore Forms

Datastore Submissions

Fields

  • Any field from the Datastore Submission object in the Kinetic Core API
  • Access specific value fields by including values[Field Name] as a field

Queries

  • Retrieve a single submission:
    • By id: id={submissionId}
      • ie. id=27153722-efb6-467f-9b4f-0fee4b177c08
      • Retrieving by id is only available in the retrieve method
    • Using the searching syntax described below is allowed if a query that guarantees a unique submission is used
  • Search for a submission
    • formSlug is required to query against properties/values from a specific form (formSlug={slug})
    • Using the query syntax from the Kinetic Core API, more specific searching can be done:
      • Search using the q= parameter
        • formSlug=cars&index=values[Make]&q=values[Make] = "Honda" AND values[Model] =* "C"
      • More info on querying submissions can be found in the Kinetic Core API documentation under the Datastore Submissions endpoint

Changelog

v1.0.7 (2018-08-28)

  • Fixed a bug where retrieve searches that used the id parameter for the qualification mapping were not working.

v1.0.6 (2018-05-08)

  • Raised default limit from 25 to 1000 for the Submissions structure

v1.0.5 (2018-04-26)

  • Add Datastore Form and Datastore Submission structures
  • Allow searching on parent and ancestor for the Submissions structure

v1.0.4 (2017-11-10)

  • Add Kapp and Form structures
  • Implement pagination functionality for all structures
  • Fix bug where order field was ignored if it wasn't in the field list

v1.0.3 (2017-05-17)

  • Add Teams structure
  • Query based on team in the User structure
  • User searching allows searching a pattern across multiple fields (simulates searching with an OR)

v1.0.2 (2016-08-23)

  • Search for user details (fields/attributes) in the Users structure
  • Multiple = signs in a query expression now properly escaped
  • Support for sorting records added

v1.0.1 (2016-05-09)

  • Allows checkbox fields to be returned in a bridged resource
  • Now compatible with Java 6 and above (was previously only compatible with Java 8 and above)

v1.0.0 (2015-12-18)

  • Initial Version