Here are the latest maintenance releases for the tools and SDKs.
Those releases includes a number of bug fixes and security patches.
Python SDK v0.12.0
fix: add event listener to the RPC session
from qlik_sdk import Auth, AuthType, Config
# custom function that should be calleddefopened_listener():print("sesssion opened")# register function for event "opened"
rpc_session.on("opened", opened_listener)with rpc_session.open()as rpc_client:...# opened_listener function is called when "opened" event is received in session
fix: readonly and allOf fields are now handled
fix: render param string enums for typings
fix: set type for the session property
fix: various improvements in the generated code-structure
Since the release of the Qlik Cloud platform SDKs earlier this year, the packages have recently been updated.
The idea with the Qlik Platform SDKs is to let developers extend solutions without the need
to develop them from scratch.
Python SDK (v0.11.0)
Feat: Allow full path in RAW rest calls.
This feature in combination with interceptors unlocks QRS communication,
for example:
OAuth is a standard security protocol for authorization and delegation.
It allows third party applications to access API resources without disclosing
the end-user credentials.
Qlik Cloud supports OAuth 2.0 Authorization Code and Client Credentials flows.
The OAuth client can obtain an authorization code or send client credentials header
to exchange it with an access token that can be used to access Qlik Cloud APIs.
Full tutorial OAuth single page applications with nebula.js can be found here
Capability APIs?
Already have a Client Id? just switch the webIntegrationId config with the clientId instead,
that's it. See example code in the
Build a simple mashup using capability APIs
tutorial.
The Transport API is the service responsible for managing notification channels
and email configurations for the sending of system notifications,
as well as updates from analytics services in the hub, such as data alerts
and subscriptions.
These notifications provide users with information about events such as failed
reloads, users being added to spaces, data alerts being triggered, and regular
subscription snapshots being sent to subscribers. Note that any workflows running
in application automation (including the report blocks) will use their own
SMTP/ email configuration - only system notifications from application automation
will be sent via the transport API.
The endpoints in this release provide the ability to configure and review the
email server configuration for this service, including the following examples:
GET/v1/transports/email-config : Returns the email configuration for a given tenant id.
POST/v1/transports/email-config/actions/send-test-email : Send a test mail with the
supplied email info(subject, body, recipient).
curl"https://your-tenant.us.qlikcloud.com/api/v1/transports/email-config/actions/send-test-email"\-X POST \-H"Authorization: Bearer <API-key>"\-H"Content-type: application/json"\-d'{
"body":"string",
"subject":"string",
"recipient":"string"
}'
POST/v1/transports/email-config/actions/validate : Returns the isValid value
for the email configuration for the tenant. Will return false if no email configuration exists.
curl"https://your-tenant.us.qlikcloud.com/api/v1/transports/email-config/actions/validate"\-X POST \-H"Authorization: Bearer <API-key>"\
POST/v1/transports/email-config/actions/verify-connection: Verifies connection to email server
for tenant provided via JWT.
curl"https://your-tenant.us.qlikcloud.com/api/v1/transports/email-config"\-X POST \-H"Authorization: Bearer <API-key>"\
Beginning November 1, 2022, Qlik is enforcing rate limits to API requests on
Qlik Cloud REST APIs. This means any API request originating to a REST API
endpoint on Qlik Cloud is subject to rejection if the number of requests to an
endpoint exceeds the allowed amount in a specified duration on that endpoint.
NOTE: Read on to learn more about how you may be impacted by API
rate limits.
Learn more about API rate limiting at these resources:
The 3.0 version of Nebula has been released. It contains bug fixes,
dependency updates and a few new features. Below are select updates since version 2.0
v3.0
Minor bugfixes and dependency updates.
Updated to internally use material UI v5 and React 18.
This API allows the creation and manipulation of machine learning models, and generation of predictions.
With AutoML Dataset Predictions you can:
GET/api/v1/automl-predictions/{predictionId}/coordinate-shap: Return a file containing the shapley
values in coordinate form that are associated with a predictionId.
POST/v1/lineage-graphs/nodes/{id}/overview: Update lineage flag for this request.
{id}is the QRI of the base node
curl"https://your-tenant.us.qlikcloud.com/api/v1/lineage-graphs/nodes/{id}/overview"\-X POST \-H"Authorization: Bearer <API-key>"\-H"Content-type: application/json"\-d'{
"":[]
}'
GET/v1/lineage-graphs/impact/{id}/overview: Returns all resource level nodes
that are impacted by a change in the source node.
{id}is the QRI of the base node
The /evaluations API, used to queue evaluations of Sense apps and retrieve
various performance metrics, is being deprecated in favor of new API endpoints
more consistent with the rest of the Qlik Cloud platform. The affected API endpoints are:
Fix: Fail before request on missing path parameter
qlik item update itemId --file ./my_file
# now output an explicit error message about required parameters
Error: required flag(s)"resourceType" not set
Fix: correct output when using the --json for errors
qlik extension get don_t_exists --json# now outputs json ready to be parsed{"status":404,
"title":"Not found"}
A web integration is a resource representing a list of whitelisted origins
that can make requests to a specified tenant.
It is the implementation of the CORS mechanism within Qlik Sense SaaS.
With this API you can;
POST/web-integrations: Creates a web integration.
curl"https://your-tenant.us.qlikcloud.com/api/v1/web-integrations"\-X POST \-H"Authorization: Bearer <API-key>"\-H"Content-type: application/json"\-d'{"name":"My Web Integration","validOrigins":["https://thirdPartyApp.com"]}'
GET/web-integrations/{id} : Retrieves a single web integration by ID.
New: OAuth 2.0 machine-to-machine support. Users are now able to authorize
with Qlik Cloud SaaS over client credentials flow.
New: Added command for tenant creation.
qlik tenant create
Note: This only works with specific entitlements
such as an active subscription with the multiple tenants entitlement.
New: Added commands for web-integrations management.
Web-integrations enable users to manage whitelisted origins that
can make requests to a specified tenant (CORS).
With the release of the new roles and groups APIs, a set of users features are being deprecated.
As of November 1, 2022 they will no longer be available. Please ensure to follow the migrations to
avoid any downtime.
ENDPOINT: GET /users/metadata
Support for this endpoint is being removed. The role names can now be retrieved from
the list roles endpoint.
ATTRIBUTE: roles
Support for user.roles is being removed and replaced with user.assignedRoles. Each assigned role reference
maps to an instance of a role object.
Support for the sorting attributes sortBy and sortOrder is being removed and replaced with sort.
This query parameter can be prefixed with +/- to indicate the sort order.
Examples:
sort=+name
sort=-name
sort=name
PAGINATION
The pagination query parameters startingAfter and endingBefore are being renamed to next and prev respectively.
QUERY PARAMETER: tenantId
The query parameter tenantId is no longer required and will default to the tenant being accessed.
QUERY PARAMETER: subject, email, status, role
These four user attributes are no longer supported as query paremeters when querying users.
Happy to announce the release of a new API: Qlik Application Automation.
Qlik Application Automation is a visual no-code approach to connecting applications.
The API helps you easily build automated analytics and data workflows.
Examples
Here are a few examples of what you can expect to do with the Qlik Application Automation API:
As more & more developers integrate & embed Qlik Sense, the need to simplify
the development process is paramount. Announcing the new
Qlik Platform SDK - a suite of tools, libraries, and documentation that
simplifies building high-quality and performant applications on top of the Qlik
Sense Platform. The idea is to let developers extend solutions without the need
to develop them from scratch.
And the best part? The capabilities of the SDK comes in two programming
languages - TypeScript & Python. With TypeScript, you will have improved
definitions and enhanced developer experience with modern IDEs and the Python
package opens up a whole new scope for the Python developer community to
leverage the power of Qlik Cloud APIs.
Looking to get started? Here are the package links:
GetFieldsResourceIds that returns a list of resource ids (QRI) for fields
that belongs to the data model. Key fields (that belongs to multiple tables),
returns one resource identifier per table. Read more here
GetFieldsFromExpression that retrives any fields from an expression.
Learn more about this here
nebula.js updates
The nebula stardust package now comes with TypeScript definitions. It
references the Qlik's Engine definitions published at @types/qlik-engineapi.
This will enable developers to take advantage of code autocompletion, verifying
correct types, etc. within modern IDE's.
The following endpoints are new to the Reloads API.
GET /reloads: Reloads allows for triggering reloads of apps to refresh its
data. Traditionally this has only been possible through the JSON-RPC websocket
API, but can now also be done by using this REST API.
GET /reloads/{reloadId}: Finds and returns a reload record.
POST /reloads: Reloads an app specified by an app ID.
The new Reporting Service API provides the ability to generate
reports in PNG, PDF, and xlsx formats programmatically. Reports content could
be either a single visualization, an entire sheet, a story or a composition of
sheets.
Comprises two endpoints:
POST/reports: Queues a new report request generation
GET/reports/{id}/status: Gets report request processing status
New: Added qlik edit command - you can now easily update resources without
worrying about the complicated JSON Patch calculations. Based on the EDITOR
environment variable, the edit command starts your preferred editor
automatically and once your changes are saved, all PUT/PATCH operations are
automatically done.
*If you want to see communication details for your edit call, you can use
the `--verbose` flag. It displays all HTTP operations that are
performed including payloads for requests.*
example:
```bash
qlik webhook edit <webhookId>
# this command launches your preferred editor containing the resource in json format
# changing, for example, the description parameter is the equivalent of doing
# a patch request with payload:
# [
# {
# "op": "replace",
# "path": "/description",
# "value": "my new description"
# }
# ]
```
New: Added qlik spec get provides more detailed information about added
external specs, most notably the path to the added specification.
New: The auto-generated usage documentation now get automatically published to
Fix: Improved robustness in handling of array subtypes - missing types
now return errors.
Any included schema is thus required to have proper types defined. Previously,
it defaulted to string if the type was missing.
While nebula.js provides capabilities & APIs to build mashups and custom
visualizations, it's primary purpose is often to display Qlik developed charts.
These charts are available through npm under the @nebula.js scope. Learn more
about it [here].
Core packages
The new core build allows to significantly reduce the size of bundle, thus
bringing down the overhead of downloading large amount of codes to be run.
Refer to an example here
Nebula API
nebula.js API has the following new updates:
new useEmbed hook
The useEmbed hook allows access to the Nebula instance inside a chart, for
adding charts into charts. Read the API specs.
new useKeyboard hook
The useKeyboard hook enables mashups to do sense-client style keyboard
navigation across chart objects. Read the API specs.
new option for Field-listbox
You can now alter property definition for Field-listbox.
The latest version of qlik-cli allows better windows support, support for
new APIs and notifications.
Here are the updates.
Chocolatey
qlik-cli is now back to Chocolatey
To install using choco:
choco install qlik-cli
To upgrade qlik-cli using chocolatey:
choco upgrade qlik-cli
If you see an error like below:
Error retrieving packages from source
The combination of parameters provided to this OData endpoint is no longer
supported. Please refer to the this
URL for more information about this
deprecation.
Then first run:
choco source list
Then remove the one matching nuget.org:
choco source rm --name=nuget.org
Another way to fix a failing upgrade is to uninstall and reinstall.
choco uninstall qlik-cli
choco install qlik-cli
in v2.5.0 / v2.5.1
New - Added support for outbound proxy: you can now set the operating system environment
variables called HTTPS_PROXY/HTTP_PROXY with the hostname or IP address of
the proxy server.
Note: HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
Qlik CLI supports only Basic Authentication.
Fix - Improve --limit flag descriptions
Fix - Updated the included latest Qlik Sense SaaS API-specifications
in v2.4.0
Updated Commands
Commands have been updated to reflect the latest API changes.
Notifications
Users to be notified when a new version of qlik-cli is available. The
notification message contains URL with detailed changelog of the latest
release.
Self Update CLI
The self update command enables users to update to the latest version of
qlik-cli by simply running qlik update.
OpenAPI specs support
The latest qlik-cli update provides support for OpenAPI specs that define
parameters at the path level. In this case, the parameters are inherited by
all operations under that path.
Progress Bar
The animated progress bar displayed when uploading an app is now based on
estimated upload time.
Support for unix-like Windows terminals
The latest version of qlik-cli provides better support for unix-like Windows
terminals (such as MingGW, MSYS2, and Cygwin).
Fix
The latest version of qlik-cli also includes bug fixes and minor improvements.
in v2.3.0
Support for identity-providers endpoint
The identity-providers service is used for managing identity providers.
In this version of qlik-cli the support for identity-providers endpoint is provied.
Support for questions endpoint
The questions endpoint lets user ask natural language questions against
Qlik Sense apps enabled for conversational analytics. This version of qlik-cli
provides support for this endpoint.
qlik question ask --app-id <appId>--text="new cases by department over time"#returns a QueryResponse object containing conversational response{...
"conversationalResponse":{...
"responses":[{"imageUrl":"/api/v1/temp-contents/6139c949f0ccf200019a09e2?inline=1",
"sentence":{"text":"new cases by department over time"},
"type":"chart"},
{"narrative":{"text":"* New Cases is 180.\n* There were 18 of New Cases not associated to a Department. This may indicate a data quality issue."},
"sentence":{"text":"new cases by department over time"},
"type":"narrative"}],
"sentenceWithMatches":"**new cases** by **department** over time"},
Progress bar for Downloads
The latest version of qlik-cli also shows an animated progress during app
download.
Spinner feedback
A new spinner feedback is added when users are waiting for server response
using qlik-cli.
The Evaluations API now includes a new endpoint /evaluations/{id}/download
that allows you to download a detailed XML log for your evaluation. Learn more
about this here
Items API
When fetching items using the Items API, you now have the ability to filter
by three new subtype resources - automation, dataset, and dataasset.
Additionally, if you want to speed up response time, you can now omit the
actions array from the response by setting the noActionParam to true.
This ensures that the actions for each item is not evaluated.
New Natural Language API
The new Natural language API (/questions/actions/ask) enables you to ask
questions and context aware partial questions against applications enabled
for conversational analytics or a specific app to receive Insight Advisor
generated responses and suggestions.
Learn more about creating customized conversational analytics interfaces
The latest version of qlik-cli adds resumable uploads for large Qlik Sense
applications and bug fixes to improve overall usability. Here are the updates.
New feature highlights
Import large Qlik Sense apps
You can now upload large apps to SaaS tenants using qlik-cli using the qlik app import command. Use the --resumable
switch to instruct the cli to handle the upload as a large file.
When you upload an app using qlik-cli, a nice animated bar appears displaying
the progress.
File piping
File piping allows you to combine commands where the output of one may be used
as the input of the next command you issue.
Command aliases
Aliases enable you to create shorthand commands for hard to remember long
commands. For example, say you run a command frequently to find the guid of an
application in your tenant, $(qlik item ls --resourceType app --name. You can
use the alias command to create a shortcut it into something like
qlik getAppGuid consumer+sales. This returns the complete JSON object for the
consumer+sales resource in the items collection.
Limit flag added for listing apps
The --limit switch enables you to return a number of app resource objects per
page ranging from 1 to 100.
Identifying experimental flags and switches in commands
Command switches and flags that are experimental features are labeled as such
for your information.
Fixes worth mentioning
Temporary Upload Service
Use of the temporary upload service in qlik-cli caused problems with large app
uploads and resumability. This problem has been fixed and implemented through
the resumable switch in the qlik app import command.
Updated response from reload get command
In prior CLI versions, qlik reload get was not sending a correct response.
This issue has been resolved.
Bullet list of all features and fixes in qlik-cli 2.2.0
feature: add limit flag when listing apps
feature: Support resumable uploads
feature: add status for qseow
feature: Support big apps
feature: show if a flag or command is experimental
feature: Add progress-bar
feature: add support for command aliases
feature: Add Patch description
feature: support for files piping
fix: Solve temporary upload service store issues
fix: Add timeout to Establish TCP connection
fix: append exprimental to long description with leading newline
fix: Honor optional request bodies
fix: handle empty stdin
fix: omit cookie header
fix: updated response for reload get
Update qlik-cli today by using brew if you use a Mac, or download the
redistributable from
here.
Updated definitions for URL parameters and updated examples in the
documentation.
Extension 1.1.1
Numerous documentation updates throughout the API.
Distribution family API updates
Conditions 7.8.1 released public stable
The conditions API handles the evaluation of conditions set on data in Qlik
Sense applications. You can use this API to establish conditions and execute
condition evaluation.
Web Notifications 1.2.0 released public stable
Web notifications are tied to alerting in Qlik Sense SaaS and enable developers
to identify the count of read versus unread notifications, and read information
stored in generated web notifications.
Governance family API updates
Data Connections 1.0.0 released public stable
The Data Connections API enables creating, reading, updating, and deleting data
connections for spaces and Qlik Sense applications.
Reload 2.2.0 updated
The latest version of the Reload API supports partial reload with a new
true/false property you can set.
The evaluations API now includes a property in the result schema and the
evaluation detail properties indicating the file size on disk of the evaluated
Qlik Sense application.
The
export app endpoint in the apps API now provides a location header
containing the URL of the exported application in the temporary content service
when the endpoint returns an http 201 response.
Sense Client Object Definitions Released
Developers have requested the schemas and property definitions
for the different objects created in Qlik Sense applications be made public. You
can now view this information
here.
You'll find all of the properties in each type of object available in Qlik
Sense, and you can download the specification for use in your own custom
applications.
Webhooks API set to public/stable API status
The webhooks API is now a public and stable API in alignment with the public
release of tenant level webhooks in SaaS platform.
The evaluations API enables you to run performance and scalability tests for
Qlik Sense applications running on Enterprise SaaS editions of the platform.
This API is useful when you have large applications you want to optimize, or
update an application frequently and want to ensure it remains performant.
The license command in qlik-cli enables you to set license assignments for
users in addition to providing metrics related to your tenant's overall license
footprint.
The evaluation command enables you to trigger Qlik Sense app evaluations
through cli, retrieve the results, and perform additional commands based on the
feedback. A handy command for automating devops of Qlik Sense apps.
New features
Flags that are deprecated in qlik-cli now show a warning message when used.
qlik api-key ls--sub="test""Flag --sub has been deprecated, please don't use it!"
A security enhancement has been made to remove session Ids from log messages
You can now add names to external specifications you sideload into qlik-cli.
Here's an example: qlik spec add ./my-spec.json --name foo
Breaking change
The response on the app command has changed. Now it returns only information
from the Apps API.
The qlik.dev changelog has an rss feed you can subscribe to by adding the
URL https://qlik.dev/rss.xml to
your preferred feed reader. Now updates from qlik.dev come to you in your inbox
or wherever you consume syndicated content.
Engine REST API (Apps) updated with new attributes
The Engine REST API, aka Apps API, adds attributes for app name and description
for POST and PUT request operations related to publishing and republishing
Qlik Sense applications.
The new checkOriginAppId attribute is a true/false property validating that
the source Qlik Sense application has the same Id as the originally published
app.
For more information, see the API reference for republishing a Qlik Sense
application here.
Users API add attributes for user roles
As part of the ongoing work related to updates to users, groups, and roles in
the Users API added additional properties for setting roles
on users and new
roles that may be applied to user records. While this feature is not accessible
in product user interfaces, it does exist in the API. In addition, the Users API
is public/stable.
Collections API adds new response information with app size metrics
Endpoints for the Collections API now include two new properties in the response
object. appFile displays the size of an app on disk and appMemory shows the
size of an app when it is loaded in memory. Both values are displayed in bytes
and appear under the resourceSize property.
"appFile":{"description":"Size of the app on disk in bytes","type":"number"},"appMemory":{"description":"Size of the app in memory in bytes","type":"number"}
The Identity Providers REST API is a Management API for
creating and
updating identity provider configurations in a tenant. For
more information regarding the API, please review the API
reference here.
Licenses API releases two public/stable, three public/experimental endpoints
The Licenses REST API is a Management API for assigning, changing, and
removing license assignements from users in tenants.
This release includes two public/stable endpoints:
The Reloads API is now verified public/stable in Qlik's API governance system.
The Reloads API was mistakenly set to public/stable in late 2020 after a
breaking change was introduced in the code. Subsequently, the Reloads API was
adjusted to public/experimental before the new year to indicate the correct
status. The outstanding issues with the API have been addressed.
Temporary Contents API released public/stable
The Temporary Contents Service API is now public/stable in compliance with
Qlik's API governance policy. The TCS is used by other services to
provided
temporary file storage for uploads to the system (for example through Qlik Data
Transfer) and downloads from (for example image and sheet exports from
Qlik Sense
Client).
qlik-cli 1.7.1 enables the qlik app reload command to perform partial reloads
by adding the --partial flag to the end of the command. Update using homebrew
on a Mac, Chocolatey on Windows, or download the linux distro from
https://github.com/qlik-oss/qlik-cli/releases/tag/v1.7.1.
qlik-cli 1.6.0: better, stronger, faster. This release has a number of
performance improvements. Update using homebrew on a Mac, Chocolatey on Windows,
or download the linux distro from
https://github.com/qlik-oss/qlik-cli/releases/tag/v1.6.0.
Are you looking for a way to consume the latest API updates in the
Qlikosphere? Wondering what new tutorials have been added without
having to visit every page on qlik.dev? Need to find out if you are
using the most current version of qlik-cli? Or maybe you want to know
what new APIs are available to you since the last time you visited?
The developer changelog on qlik.dev is the source for all of this and more!