Bypassing JIRA webhook port restrictions for CI setup?

I’m trying to set up continuous integration for our staging server using Jenkins and JIRA. The plan is to use the Jira Trigger Plugin to create Jira issues on builds and trigger actions based on Jira status.

The problem is that JIRA Cloud has a limitation on webhook ports. It only allows port 80 for HTTP webhooks. My Jenkins is running on port 8081 because 80 and 8080 are already taken.

I’ve tried leaving out the port number in the webhook URL as suggested in some docs, but it didn’t work. The webhook URL I’m trying to use is http://my.domain:8081/jira-trigger-webhook-receiver.

Does anyone know a way to get around this port restriction? I really want to use this plugin for our CI setup, but I’m stuck because of this JIRA Cloud limitation.

Any ideas or alternative solutions would be super helpful. Thanks!

hey, have u tried using a simple port forwarding tool like ngrok? it can create a secure tunnel to ur jenkins on 8081 and give u a public url that works on port 80. ive used it before for similar stuff and its pretty easy to setup. might be worth a shot if u dont wanna mess with more complex solutions

I’ve dealt with similar JIRA Cloud limitations before, and there are a couple of workarounds you could try.

One solution that worked for me was setting up a reverse proxy using Nginx. You can configure Nginx to listen on port 80 and forward requests to your Jenkins instance on port 8081. This way, JIRA can send webhooks to port 80, and Nginx will handle routing them to Jenkins.

Another option is using a serverless function (like AWS Lambda) as an intermediary. The function can receive webhooks on port 80 and then forward them to your Jenkins instance. This adds a bit more complexity but can be quite flexible.

If those seem too complex, you might consider using a different CI trigger method. For example, you could set up a scheduled job in Jenkins to poll JIRA for changes instead of relying on webhooks.

Remember to always secure your webhook endpoints, regardless of the solution you choose!

Have you considered using a cloud-based reverse proxy service? Services like Cloudflare or Nginx Proxy Manager can help you route traffic from port 80 to your Jenkins instance on port 8081. This approach doesn’t require you to set up and maintain your own server infrastructure.

Another option is to leverage a CI/CD platform that integrates directly with JIRA Cloud, bypassing the need for webhooks altogether. Many modern CI/CD tools offer native JIRA integration, which might simplify your workflow and avoid the port restriction issue.

If you’re open to changing your setup slightly, you could also explore running Jenkins in a Docker container. This would allow you to map the container’s internal port to 80 on the host, potentially resolving the JIRA webhook limitation.

Whichever route you choose, ensure you implement proper security measures to protect your CI/CD pipeline.