Retrieves sources from the selected applications. The Application selection could be done by the QOps-AddApps command. By default, QOps will proceed with all available applications.
Syntax
QOps-Prepare [-Filter] [-Path] [-Sort] [-AllSheets] [-AllVariables] [-MaintainExtensions] [-IncludeBookmarks] [-AllBookmarks] [-Profile] [-Verbose] [-Force]
Parameters meaning:
-Filter overrides parameters for selecting applications to process with QOps, allows filtering by following:
- Application Name
- Application Id (OriginAppId or TargetAppId, see QOps-SetLocalApp for details)
- Application Owner
- Application Stream
The multiple masks are supported in a way of repeating the field identifier with a semicolon separator, ex.: -Filter “Name=*ibcs*;Name=*api*,Id=*,Owner=*,Stream=*”
The Semicolon defines result joining with OR logic, the Comma defines results joining with AND logic. When the field name is omitted all possible values for this field will be applied.
-Sort specifies parameters for sorting Applications to process with QOps, ex. -Sort “Name=Asc”. Allows filtering by following:
- Name
- Id
-AllVariables defines that all variables of the application should be processed, if omitted only non-script variables will be processed
-MaintainExtensions specifies that Extension references will be processed as is, instead of mapping the local ('_WIP_' prefix) to the original version by default.
-Profile overrides default User Profile with the specified one
-Verbose enables extended command line output
-AllSheets defines that all sheets of application should be processed, if omitted only published sheets will be processed
-IncludeBookmarks defines that only unpublished bookmarks should be processed
-AllBookmarks defines that all bookmarks of application should be processed
-Mode explicitly overrides the platform mode. Values: QlikSense, QlikSaaS, QlikView. When not specified, QOps auto-detects from configuration.
-VerboseLog enables full verbose output including complete API response dumps and debug information. By default, QOps now produces concise output summaries.
-Force skips the confirmation QOps asks for before processing more than ten applications. Without it, a run that matches more than ten applications stops and waits for a typed answer, so scheduled and scripted runs should pass -Force.
-Path limits the run to the objects under one path, glob or single file inside the application's -prj folder, for example a folder such as Dimensions, a single object such as Sheets/<id>, or a pattern such as Variables/v*. Files outside the path are left exactly as they are: a scoped prepare never prunes.
Most object kinds are stored as a folder named after the object's id, so Sheets/<id> names one sheet. Variables, stories and snapshots are stored as a file instead, and either form names the object: Variables/Sales.yaml and Variables/Sales both scope the run to that one variable, and the run refreshes that file.
The application's description and thumbnail live in App.yaml, outside every object folder, so a scoped run does not touch them unless the scope names that file.
An empty folder outside the scope is left in place as well, including one left behind by an earlier run: a scoped prepare changes nothing it was not pointed at. If an earlier scoped run removed a file outside its scope, an unscoped run brings it back; the object itself is still in Qlik.
Matching ignores case and accepts either slash. On QlikView the switch is refused with a message rather than accepted and ignored.
Fields that must not cause a rewrite
A prepare rewrites an object file only when the object itself differs. Some fields move on their own without anything about the application changing — the version stamp QOps writes into each file is the obvious one — and a file rewritten only because such a field moved shows up as a change in the repository and conflicts on merge.
The version stamp is always treated this way and needs no configuration. To name further fields, add IgnoreFieldsOnCompare to .qopsconfig with a list of field names:
IgnoreFieldsOnCompare:
- modifiedDate
- publishTime
The names are matched anywhere in the object, at any depth. Listing a field here changes only whether its value can cause a rewrite: when the file is rewritten for some other reason, the field is written out with its current value as before.
Examples
QOps-Prepare
QOps-Prepare -Filter "Name=*project1*;Name=*project2*,Owner = username1"
Retrieves sources from the selected applications. The Application selection could be done by the QOps-AddApps command. By default, QOps will proceed with all available applications.
Syntax
QOps-Prepare [-Filter] [-Reduce] [-Profile] [-Verbose]
Parameters meaning:
-Filter overrides parameters for selecting applications to process with QOps, allows filtering by following:
- Application Name
The multiple masks are supported in a way of repeating the field identifier with a semicolon separator, ex.: -Filter “Name=*ibcs*;Name=*api*”
The Semicolon defines result joining with OR logic, the Comma defines results joining with AND logic. When the field name is omitted all possible values for this field will be applied.
-Reduce overrides the mask (masks) of the Application’s File Name to apply reduced binary application storing
-Sort specifies parameters for sorting Applications to process with QOps, ex. -Sort “Name=Asc”. Allows filtering by following:
- Name
- Id
-Profile overrides default User Profile with the specified one
-Verbose enables extended command line output
Examples
QOps-Prepare
QOps-Prepare -Filter “Name=*application*” -Reduce “*dashboard*”
Retrieves sources from the selected applications. The Application selection could be done by the QOps-AddApps command. By default, QOps will proceed with all available applications.
Syntax
QOps-Prepare [-Filter] [-Path] [-Sort] [-AllSheets] [-AllVariables] [-IncludeBookmarks] [-AllBookmarks] [-Profile] [-Verbose] [-Force]
Parameters meaning:
-Filter overrides parameters for selecting applications to process with QOps, allows filtering by following:
- Application Name
- Application Id (OriginAppId or TargetAppId, see QOps-SetLocalApp for details)
- Application Owner
- Application Space
The multiple masks are supported in a way of repeating the field identifier with a semicolon separator, ex.: -Filter “Name=*ibcs*;Name=*api*,Id=*,Owner=*,Space=*”
The Semicolon defines result joining with OR logic, the Comma defines results joining with AND logic. When the field name is omitted all possible values for this field will be applied.
-Sort specifies parameters for sorting Applications to process with QOps, ex. -Sort “Name=Asc”. Allows filtering by following:
- Name
- Id
-AllVariables defines that all variables of the application should be processed, if omitted only non-script variables will be processed
-Profile overrides default User Profile with the specified one
-Verbose enables extended command line output
-AllSheets defines that all sheets of application should be processed, if omitted only published sheets will be processed
-IncludeBookmarks defines that only unpublished bookmarks should be processed
-AllBookmarks defines that all bookmarks of application should be processed
-Force skips the confirmation QOps asks for before processing more than ten applications. Without it, a run that matches more than ten applications stops and waits for a typed answer, so scheduled and scripted runs should pass -Force.
-Path limits the run to the objects under one path, glob or single file inside the application's -prj folder, for example a folder such as Dimensions, a single object such as Sheets/<id>, or a pattern such as Variables/v*. Files outside the path are left exactly as they are: a scoped prepare never prunes.
Most object kinds are stored as a folder named after the object's id, so Sheets/<id> names one sheet. Variables, stories and snapshots are stored as a file instead, and either form names the object: Variables/Sales.yaml and Variables/Sales both scope the run to that one variable, and the run refreshes that file.
The application's description and thumbnail live in App.yaml, outside every object folder, so a scoped run does not touch them unless the scope names that file.
An empty folder outside the scope is left in place as well, including one left behind by an earlier run: a scoped prepare changes nothing it was not pointed at. If an earlier scoped run removed a file outside its scope, an unscoped run brings it back; the object itself is still in Qlik.
Matching ignores case and accepts either slash. On QlikView the switch is refused with a message rather than accepted and ignored.
Fields that must not cause a rewrite
A prepare rewrites an object file only when the object itself differs. Some fields move on their own without anything about the application changing — the version stamp QOps writes into each file is the obvious one — and a file rewritten only because such a field moved shows up as a change in the repository and conflicts on merge.
The version stamp is always treated this way and needs no configuration. To name further fields, add IgnoreFieldsOnCompare to .qopsconfig with a list of field names:
IgnoreFieldsOnCompare:
- modifiedDate
- publishTime
The names are matched anywhere in the object, at any depth. Listing a field here changes only whether its value can cause a rewrite: when the file is rewritten for some other reason, the field is written out with its current value as before.
Examples
QOps-Prepare
QOps-Prepare -Filter "Name=*project1*;Name=*project2*,Owner = username1"