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.
go get -u github.com/qlik-oss/enigma-go/v4
Connecting to a Qlik Associative Engine and interacting with a document/app involves at least the following steps:
-
Create and set up a Dialer object with TLS configuration, etc.
-
Open a WebSocket to the Qlik Associative Engine using the Dial function in the Dialer.
-
Open or create a document/app using openDoc or createApp.
Refer to the examples section for more information.
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.
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.
- 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
. - Generates a new API specification using the new version.
- Adds the resulting
api-spec.json
file to a commit with the messageRelease: <version> for QIX schema version <qix_version>
. - Creates a tag containing the version with the same message as in step 3.
- 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.
- Generate enigma-go: Generate-Docs
- Update the API specification: Update-API-Docs