cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Azure Automation runbook + HTTP Request Template

Zach.Mathias
Creator

Hey folks,

 

   I have a webhook associated with an Azure runbook, which I've tested and verified works correctly. However, when testing with the HTTP Request Template in App Dynamics, it fails with a 404. Looking at the transcript, it appears the templating engine is transforming the '%' characters in the URL into their URL-encoded equivalents, even though the character is already URL-encoded.

 

For instance: assume a string of plaintext '+foo=bar'. My webhook would look something like this: /webhooks?token=%2bfoo%3dbar. The templating engine turns it into /webhooks?token=%252bfoo%253dbar

 

I've looked around at both the documentation for App Dynamics and for Velocity, without success. I have two questions:

 

1) Is there a way to get the tool to correctly parse URL-encoded strings? From a post I found (the only post regarding EscapeTool, actually), it looks like the Velocity EscapeTool is implemented in some places within AppDyn, but it doesn't look like the URL input for an HTTP Request Template is one of them. 

 

2) Am I just missing something? It would be swell if there's a quick fix that has heretofore eluded me. I'd be happy to admit my ignorance and grovel at the feet of whoever exposed it to the community at large.

 

Thanks for reading!

2 REPLIES 2

Nick.Segalle
Producer

Running into this very issue.  I tried everything, and you're spot on, it's encoding special characters when it should not be.

 

AppDynamics, what sort of answer do you have for us?

Nick.Segalle
Producer

I just wanted to follow up with this thread, I was able to fix this by creating an Azure Function and then added a proxy.  This way I have a frontend URL that is like this: https://<hidden>.azurewebsites.net/api/AppDynamicsTrigger, and so all web requests go to the Proxy first and then on the backend I have my tokenized URL for the Azure Webhook.  This also allows me to setup permissions on the webhook. 

 

I hope this helps...