Setting up automated webhook calls in JIRA when tickets are created

Hi everyone!

I’m trying to figure out how to create an automation in JIRA that sends HTTP requests when new issues get created. I have some Python experience but I’m completely new to JIRA automations.

What I want to achieve: whenever someone creates a new ticket in JIRA, I need it to automatically make a POST request to my external API endpoint. This endpoint requires authentication via bearer token and I need to send specific ticket data in the request payload.

Here’s what I’m wondering about:

  • Is this kind of automation actually possible in JIRA?
  • What permissions do I need on my account or project to set this up?
  • Are there any good tutorials or docs that show how to do this?

I’m also considering an alternative approach using the Python JIRA library with a cron job that periodically checks for new tickets and processes them. Would this polling method be simpler than the webhook approach?

Any guidance would be really appreciated!

Yeah, JIRA webhooks work great for this. I’ve done similar setups and they beat polling hands down for reliability. You’ll need project admin permissions minimum, though some places want full JIRA admin rights. Setup’s pretty simple - hit Project Settings > Automation, create a rule with “Issue created” trigger, then add “Send web request” action. Toss your bearer token in the headers and map JIRA fields using smart values like {{issue.key}} or {{issue.summary}}. Webhooks give you real-time updates instead of waiting on cron jobs, plus they’re way more efficient than hammering the API. Just make sure your endpoint can handle the traffic and has decent error handling since JIRA will retry failed calls.

I’ve done this exact setup and JIRA automation handles webhook calls perfectly. Super straightforward once you get the right permissions - you’ll need project admin or JIRA admin depending on how your instance is configured. Go to project settings, find the Automation section, and create a new rule. Set the trigger to “Issue created” and add a “Send web request” action. For auth, drop your bearer token in the headers like “Authorization: Bearer your_token_here”. You can use JIRA’s smart value syntax for dynamic payload values. One gotcha - JIRA retries failed webhooks but gives up eventually, so make sure your endpoint has solid error handling and logging. Skip the polling approach - it’s just extra load and delays. Webhooks give you instant notifications and scale way better.

webhooks are def the way to go, but b careful & test ur endpoint first! learned the hard way when my API crashed & Jira kept retrying. also, check & only use the smart values you need - don’t overload with everything or it’ll be a huge payload. python polling seems ez, but rate limits & missed tickets r a headache!