how to concatenate string with triggerbody? - azure-logic-apps

I've been attempting to concatenate:
#{concat('/',parameters('embedAttachmentsContainerDone'),'/','/#{triggerBody()?[''Properties'']?[''DestinationFileName'']})}
I've also tried:
#concat('/',parameters('embedAttachmentsContainerDone'),'/','/#{triggerBody()?[''Properties'']?[''DestinationFileName'']})
Sometimes I will get a deploy error, other times I'm getting an error while running the logic app. Other times, I am getting a very weird message:
#{concat('/',parameters('embedAttachmentsContainerDone'),'/',triggerBody()?['Properties']?['DestinationFileName'])}
How do we concatonate a string, with a parameter, with triggerBody?

You may have a try with this expression:concat('/',parameters('embedAttachmentsContainerDone'),'/#{triggerBody()?[''Properties'']?[''DestinationFileName'']'). In the third expression which you shared above, please use '' in front of Properties and behind the Properties, and put /#{triggerBody()?[''Properties'']?[''DestinationFileName''] in a pair of single quotes. You can also refer to this ticket: String concatenation issue with Azure Logic Apps

Related

Regex for graphQl not returning results when added to react component

I was testing queries out with GraphiQl explorer, which returned the results I wanted using the a regular expression underlined in red below.
You can see it returns results and it generates the code for react in the far right of the screenshot. I was hopeful that it would work straight away with a copy & paste but apparently you have to escape the regex in the template literal string (Why doesn't the code explorer do that if you need to escape it anyway?)
Below are the results if you try to add the code the way its generated.
Through some googling & a GitHub issue I found that the regex needs to be double escaped.
See the update for the fix below. Link to regex PR
Added the change to my regex and it stopped the previous error.
But now its not showing any results..
Regex updated ->
No results ->
I've tried using variables to inject the original regex to the template literal string but no avail as apparently you can't do that with graphQl. Has anyone had this issue or care to share an idea/solution ?

Passing parameters to SSPRS Report through the URL doesn't work

I'm trying to access a SSPRS report that has the option to select the year and the month by adding the parameters in the URL as &param=value but I always get the default.
This are the parameters and I know I'm sending the correct values in the URL.
This is the report panel where I can select the Year and Month, I'm trying to get the specific report that I need by passing those parameters in the URL.
What could I be doing wrong?
Thank you everyone.
There are a couple of ways these go wrong, I'm guessing your problem is URL encoding of your date parameter, but I'll give you other stuff too. Here is a working URL with 3 parameters: a date, a string, and an integer.
https://db01.MyCompany.com/ReportServer_Prod?/Reports/R440_OutstandingRecp&paramDateEnd=12%2f31%2f2015&paramPropLiab=Property&paramRepPeriod=1
The key parts of this URL:
"https://db01.MyCompany.com/ReportServer_Prod?/" - db01.MyCompany.com is our database VM, and I'm using the "Prod" (production) instance of SQL on it.
NOTE: Check your Reporting Services Configuration application and look at the "Web Service URL" to get what "ReportServer_Prod" is on your installation.
"?/Reports/" is the path to the virtual directory, note that this is different from the path a browser would normally use. Normally my path would be "ReportServer_Prod/Pages/Report.aspx?ItemPath=%2fReports%2fR440_OutstandingRecp" if I was just viewing this from the Reporting Services interface.
Parameters are separated by "&" and it's "ParamName" "=" "ParamValue" so "&paramPropLiab=Property&paramRepPeriod=1" are the string and integer parameters respectively.
Lastly, parameter values are URL encoded if necessary. Mostly it doesn't show up, but for dates and some strings, it becomes necessary. We can't send something like "12/31/2015" because it looks like part of the path, we need a URL encoded string like "12%2f31%2f2015"
Hopefully one (or more) of these were what you needed, reply in the comments if it's still not working or if you need more explanation of why the parts are what they are.
EDIT: One more thing, if a parameter has a "Display" and a "Value" (i.e. in a drop down list) you must pass the value, not the display.
EDIT: I can't make the comment stop hiding my URL, so I'll put it here
WHAT WAS TRIED
https://slo2000/Reports_TECOVA?/Reports/TEXO%20CVA%20Reports%2fTEXO_London_B_CVA_Report&ReportMonth=January&ReportYear=2020
https://slo2000/Reports_TECOVA?/Reports/TEXO%20CVA%20Reports/TEXO_London_B_CVA_Report&ReportMonth=January&ReportYear=2020
https://slo2000/ReportServer_TECOVA?/Reports/TEXO+CVA+Reports/TEXO_London_B_CVA_Report&ReportMonth=January&ReportYear=2020
WHAT WORKS (From #Nacho in comments, brought here for visibility)
http://slo2000/ReportServer_TECOVA/Pages/ReportViewer.aspx?%2TEXO+CVA+Reports%2fTEXO_London_B_CVA_Report&rs:Command=Render&ReportMonth=January&ReportYear=2020

Remove extra brackets from JSON call in Integromat

I am running a HTTP call to bring back data in JSON format but this is bringing through an extra set of square brackets that is causing issues when i am trying to recognise the array. See screen shots.
I can remove the extra set manually in a JSON editor but need to try and find a way of doing this automatically as part of my call.
I am running the call through Integromat and have looked at using Regex but couldn't find the correct code combinations.
Any help or advise much appreciated.
You can use the replace function and insert the brackets that need to be found using regex pattern making sure you denote the bracket at the starting position and the bracket at the end of the string to be replaced with emptystring
Don't check "Parse Response" in HTTP Request module.
That way Data will be returned as long text
Use "Text Parser"'s "Replace", look for ^[|]$ and replace it with emptystring. Make sure you check "Global Match", otherwise it will only do to the first match only=[
3.Then just Parse Json from parsed(replaced) text
I think this article will help.
https://medium.com/#petr.hnilica/json-in-integromat-how-to-create-an-array-from-collections-with-the-same-structure-2991b985e03e

google oauth and variables for ClientId and Secret

I am surprised that when I submit a variable with an identical string value it is rejected when the string is accepted in google oauth
For example
$client->setClientSecret('xDDDDDDD-Tcdfgtrrfftr');
is accepted where with the same string value stored in the variable as follows
$client->setClientSecret('{$domain->GooglePlusSecret}');
is rejected.
Anyway to write this to get around it? I serve multiple domains through the same root folder and software and want to set up for individual oauths as well ???
I'm assuming you're using PHP here, since that's what your code looks like.
Single quoted strings do not have variables interpreted. The reason your OAuth token doesn't work is because you are using the literal string {$domain->GooglePlusSecret}.
You should change your code to either $client->setClientSecret($domain->GooglePlusSecret); or $client->setClientSecret("{$domain->GooglePlusSecret}");.

angularjs throws 'undefined' error if cookie name contains hyphen (dash) in it

I'm using $cookies to read cookies. However one of my cookies has a hyphen / dash inbetween. When I tried to do that, angularjs throws 'undefined' error eventhough the cookie exists. However this is not happening for cookie names without hyphen / dash in it.
For. ex,
$cookies.Auth-PD-ID
throws an error as below
'PD' is undefined
Since the hyphen is the minus operator, the Javascript interpreter thinks you're trying to do subtraction. When the property name contains special characters, you need to wrap it in quotes and access it like this:
$cookies["Auth-PD-ID"]

Resources