Summary
There are cases where base64 code is needed to be sent as a URL argument on the JIRA webhook so that JIRA can authentic to the recipient webhook server. Special characters on these URL arguments are not sent out properly from JIRA.
Steps to Reproduce
- Create a webhook in JIRA
- Specify a URL argument containing special characters. (i.e. code=asdasohdoasdoasd==)
- Trigger the event
Expected Results
Special characters should be sent as part of the URL arguments.
Actual Results
Format | Webhook | URL Received |
Plain Text | https://www.webhhook_server.com/endpoint?code=asdasohdoasdoasd==&test=test | POST /endpoint?code=asdasohdoasdoasd&test=test&user_id=admin&user_key=admin |
URL Encoded | https://www.webhhook_server.com/endpoint?code=asdasohdoasdoasd%3D%3D | POST /endpoint?code=asdasohdoasdoasd%253D%253D&user_id=admin&user_key=admin |
Notes
This can happen more frequently with endpoints generated on Azure. Usually, the generated endpoint will end with double equal signs, which are removed when the webhook is fired by JIRA.
Workaround
- This workaround already worked for a few customers affected by the BUG, it consists in trying to generate another authorization key in the Azure side making sure that it doesn't contain any special characters.
For customers using Jira 10.3.5 LTS and higher, or Jira 10.6.0 and higher (note: not 10.4.x or 10.5.x), you can activate the fix by enabling the system property:
plugin.webhooks.skip.url.reencoding=true
This property is automatically enabled starting from Jira 10.7.0.
- is cloned from
-
JRACLOUD-67484 Webhook calls fail if destination URL contains special characters
-
- Closed
-
- is related to
-
JRASERVER-78312 Jira 10 forcibly decodes encoded ASCII characters in webhook URLs
-
- Closed
-
- is resolved by
-
WILDT-8 Loading...
- mentioned in
-
Page Loading...