Skip to content

Go library for consuming Qlik's Associative Engine.

License

Notifications You must be signed in to change notification settings

qlik-oss/enigma-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e3b8a1e · Apr 10, 2025
Apr 3, 2025
Apr 10, 2025
Apr 3, 2025
Apr 3, 2025
Apr 10, 2025
Sep 10, 2018
Nov 8, 2018
Dec 2, 2021
Mar 21, 2018
Apr 3, 2025
Jul 18, 2023
May 15, 2024
Jul 18, 2023
Feb 11, 2022
Mar 1, 2024
Mar 1, 2024
Mar 1, 2024
May 7, 2018
Dec 4, 2020
Sep 6, 2019
Mar 1, 2024
Dec 16, 2021
Apr 10, 2025
Apr 10, 2025
Mar 21, 2018
Mar 21, 2018
Mar 1, 2024
Mar 21, 2018
Mar 21, 2018
Mar 21, 2018
Mar 1, 2024
Apr 10, 2025
Dec 16, 2021
Mar 21, 2018
Mar 21, 2018
Mar 21, 2018
Sep 9, 2019
Mar 1, 2024
Mar 1, 2024
Mar 1, 2024
Dec 16, 2021
Mar 21, 2018
May 11, 2020
Feb 11, 2022
Mar 21, 2018
Mar 21, 2018

Repository files navigation

CircleCI Go Report Card Latest Version

enigma-go is a library that helps you communicate with a Qlik Associative Engine. Examples of use may be building your own analytics tools, back-end services, or other tools communicating with a Qlik Associative Engine.



Installation

go get -u github.com/qlik-oss/enigma-go/v4

Getting started

Connecting to a Qlik Associative Engine and interacting with a document/app involves at least the following steps:

  1. Create and set up a Dialer object with TLS configuration, etc.

  2. Open a WebSocket to the Qlik Associative Engine using the Dial function in the Dialer.

  3. Open or create a document/app using openDoc or createApp.

Refer to the examples section for more information.

Schemas

enigma-go includes generated API code that is based on the latest available Qlik Associative Engine schema. When a new schema is available, a new version of enigma-go will be made available.

Release

To release a new version of enigma-go you have to be on the master branch. From there you can run the release.sh script. The usage is:

./release.sh <major|minor|patch>

where the argument specifies what should be bumped. The release-script does a couple of things.

  1. Creates a new version based on previous version-tag (if any, otherwise 0.0.0) and suffixes it with the QIX schema version as metadata. For example bumping minor when there are no previous tags will result in the version 0.1.0+12.429.0.
  2. Generates a new API specification using the new version.
  3. Adds the resulting api-spec.json file to a commit with the message Release: <version> for QIX schema version <qix_version>.
  4. Creates a tag containing the version with the same message as in step 3.
  5. Afterwards, adds another commit bumping the api-spec.json to latest again.

After the script has run, check the results. If everything looks good run:

git push --follow-tags

to push the tag and commit to master. The release-script also checks if the local repo is in a pristine state: no untracked files or uncommitted change and, you have to be up-to-date with the latest changes on master.

Updating enigma-go to new engine schema