Qlik Sense CI/CD
Qlik apps are binary files, so most BI teams get no diff, review or rollback. We turn them into text in Git, under your DevOps process.
Everything Good About Software Engineering Skipped BI
Application developers would not ship without a pull request. Qlik developers usually cannot have one: the QVF is opaque, so change control degrades into file-naming conventions and tribal memory. The predictable results:
- A measure definition changes and the only evidence is a number that moved.
- Two developers work on the same app and one of them loses their work.
- A production release breaks and rollback means finding an older copy on a file share.
- An auditor asks who approved a change to a regulatory report, and nobody formally did.
- Promotions are manual, so they happen rarely, and each one carries more risk than the last.
Qlik app
A developer finishes work in Qlik, exactly as today.
Text artifacts
The app is decomposed into readable, diffable files: load script, sheets, master items and variables.
Git & pull request
Changes are committed and reviewed with real diffs before they merge.
CI pipeline & promotion
On merge, the app is rebuilt into the target environment with its configuration applied.
Software-Engineering Discipline for Qlik Apps
Version-Controlled App Definitions
Load script, sheets, master items and variables stored as readable text artifacts in Git, with full history.
Reviewable Changes
A reviewer sees exactly which measure expression or script section changed, with a name and a comment thread against it.
Automated Promotion
On merge, the app is rebuilt into the target space or stream with environment-specific connections and variables substituted.
Rollback to a Known Version
Script, objects, master items and variables are separate artifacts, so one can be reverted without touching the others.
An Audit Trail per Deployment
Each deployment records the commit, the approver, the artifacts changed and the assertion results.
Secrets Kept out of Git
Connections are referenced by name; credentials stay in your vault or in the Qlik connection itself.
Extract, Validate, Review, Promote, Prove, Record
Extract
The extractor pulls the app through the Qlik APIs and writes the artifact tree. The commit is the developer's, so authorship is real.
Validate
Load-script linting against your agreed standards: naming conventions, banned patterns, hardcoded paths. Failures block the merge.
Review
A pull request with a generated change summary: objects added, removed and modified, and measures whose expression changed.
Promote
On merge, the app is rebuilt into the target environment with environment-specific connections and variables injected.
Prove
A post-promotion reload runs your assertions: row counts, key integrity, control totals. A failed assertion fails the deployment.
Record
Every deployment writes a record: commit, approver, artifacts changed, assertion results and duration.
From File Copies to an Audit Trail
Before
- Binary QVF, no diff, no history
- Manual export/import between environments
- Releases batched up because each one is risky
- Variables and connection strings edited by hand per environment
- Rollback means a file copy, if someone made one
- No record of who approved what
After
- Text artifacts in Git with full history
- Pull-request review with real diffs on scripts and measures
- Small, frequent releases
- Environment configuration substituted automatically at promotion
- Rollback to a known commit, including the load script
- An audit trail per deployment
At a Glance
- Platforms
- Qlik Cloud, or Qlik Sense Enterprise on Windows
- Prerequisites
- A Git host and a CI runner (your existing CI/CD tooling rather than a specific vendor)
- Team
- One Qlik lead and one DevOps contact, part-time
- Indicative scope
- A first pipeline on one space is typically approached within a 2–4 week implementation window, depending on the estate and environment
- Engagement
- Fixed scope, or as part of a migration programme
Questions We Get Asked
Both. On Qlik Cloud the accelerator works through the platform APIs and qlik-cli, with spaces as the environment boundary. On Qlik Sense Enterprise on Windows it works against the repository and engine APIs, with streams as the boundary.
The one you already run. The pipeline logic lives in scripts rather than in a vendor-specific configuration language, so it is designed to run on common CI platforms such as GitHub Actions, Azure Pipelines, GitLab CI or Jenkins, and switching runners later is not a rewrite.
No. Developers still build in Qlik. What changes is the promotion step, which becomes a reviewed merge instead of a manual export.
Yes. Script, objects, master items and variables are separate artifacts, so you can revert one without touching the others, for example by reverting a sheet change while keeping an already-deployed script fix in place.
They are never stored in Git. Connections are referenced by name; credentials stay in your vault or in the Qlik connection itself, and the pipeline resolves the right connection for each target environment.
Pairs Naturally with a Qlik Cloud Migration
Putting apps under version control before you migrate is the cheapest sequencing there is: the app definition becomes portable, the estate becomes measurable, and the migration stops being a copy exercise.
QlikView & Qlik Sense On-Prem → Qlik Cloud →Stay Ahead with AI Insights
Insights on AI, data analytics, and modern data platforms.
Bring Your Own App
In a demo we run the extractor against one of your QVFs and walk through the diff it produces.
Don't Miss Out on Our Monthly Newsletter
AI, BI and data platform insights. No spam.






