Skip to content
Go library for consuming Qlik's Associative Engine.
Go Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
examples
release
schema
spec
.editorconfig
.gitattributes
.gitignore
LICENSE
README.md
api-spec.json
code-coverage.sh
default_dialer.go
dialer.go
dialer_test.go
doc.go
enigma-go.png
error.go
error_test.go
float.go
float_test.go
go.mod
go.sum
interceptors.go
interceptors_test.go
json_rpc_types.go
metrics_collector.go
pending_call_registry.go
pending_call_registry_test.go
qix_base.go
qix_generated.go
remote_object.go
remote_object_registry.go
remote_object_registry_test.go
remote_object_test.go
renovate.json
session.go
session_change_lists.go
session_change_lists_test.go
session_messages.go
session_messages_test.go
session_test.go
socket_edge_case_test.go
websocket_mock.go
websocket_traffic_log.go

README.md

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. As an example Qlik Core provides an easy way to get started.



Installation

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

Getting started

Connecting to a Qlik Associative Engine (e.g Qlik Core) 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.

You can’t perform that action at this time.