Qlik-Cli-Windows icon indicating copy to clipboard operation
Qlik-Cli-Windows copied to clipboard

Add-QlikTrigger always returns 400 Bad Request

Open nixnut opened this issue 3 years ago • 2 comments

I get a 400 Bad Request error when trying to use the Add-QlikTrigger function:

buildVersion      : 28.0.6.0
buildDate         : 6/14/2021 16:04:18 PM
databaseProvider  : Devart.Data.PostgreSql
nodeType          : 1
sharedPersistence : True
requiresBootstrap : False
singleNodeOnly    : False
schemaPath        : About

nextExecution : 1753-01-01 01:00
status        : NeverStarted
name          : Test task 1
lastExecution : 1753-01-01 01:00

nextExecution : 1753-01-01 01:00
status        : NeverStarted
name          : Test task 2
lastExecution : 1753-01-01 01:00

Invoke-RestMethod : The remote server returned an error: (400) Bad Request.
At C:\Users\XXXXX\Documents\Qlik-Cli-Windows-1.21.1\functions\core.ps1:66 char:23
+ ...            $result = Invoke-RestMethod @paramInvokeRestMethod @params
+                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

This is the script used. This is on QSoW release May 2021. Qlik-Cli version is 1.21.1

$PSScriptRoot 

Import-Module .\qlik-cli\Qlik-Cli.psm1

Connect-Qlik -computerName https://hl-extern-q1/winauth -UseDefaultCredentials -TrustAllCerts

$Task1 = Get-QlikTask -filter "name eq 'Test task 1'"
$Task2 = Get-QlikTask -filter "name eq 'Test task 2'"
echo $Task1
echo $Task2


Get-QlikTask -filter "name eq 'Test task 2'" | Add-QlikTrigger -name 'After Test task 1' -OnSuccess (Get-QlikTask -filter "name eq 'Test task 1'")

Get-QlikTask -filter "name eq 'Test task 2'" | Add-QlikTrigger -name 'Start daily' -startDate (Get-Date)


# Examples from the documentation at https://github.com/ahaydon/Qlik-Cli-Windows/blob/master/docs/Add-QlikTrigger.md
#
# Get-QlikTask -filter "name eq 'Reload Dashboard'" | Add-QlikTrigger -name 'On completion of extract' -OnSuccess (Get-QlikTask -filter "name eq 'Extract to QVD'")
# Get-QlikTask -filter "name eq 'Extract to QVD'" | Add-QlikTrigger -name 'On completion of extract' -startDate (Get-Date)

nixnut avatar Dec 31 '21 09:12 nixnut

try replacing Get-QlikTask -filter "name eq 'Test task 2'" | Add-QlikTrigger -name 'After Test task 1' -OnSuccess (Get-QlikTask -filter "name eq 'Test task 1'") with Get-QlikTask -filter "name eq 'Test task 2'" | Add-QlikTrigger -name 'After Test task 1' -OnSuccess $($(Get-QlikTask -filter "name eq 'Test task 1'").id)

Nillth avatar Jan 04 '22 06:01 Nillth

That didn't work. But it did point me in the right direction. Get-QlikTask doesn't by default return the task id. So the -full parameter needs to be added.

This one does work: Get-QlikTask -full -filter "name eq 'Test task 2'" | Add-QlikTrigger -name 'After Test task 1' -OnSuccess $($(Get-QlikTask -full -filter "name eq 'Test task 1'").id)

Looks like the documentation needs an update.

nixnut avatar Jan 04 '22 08:01 nixnut

Docs updated

ahaydon avatar Jan 18 '23 10:01 ahaydon