question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Improve GitHub => JIRA reliability

See original GitHub issue

When an event occurs on GitHub, it is sent to JIRA.

+----------+           +---------------+          +----------+
|          |  webhook  |               |   API    |          |
|  GitHub  ----------->|     JIRA      |---------->   JIRA   |
|          |           |  Integration  |          |          |
+----------+           |               |          +----------+
                       +---------------+                      

If delivery fails, either on it’s way to the integration or to JIRA, the event data is lost.

For example, if a customer’s JIRA instance is in maintenance mode when a commit is pushed, the JIRA issues mentioned won’t be associated back to the commit.

Because there is no retry or visibility into these failures, this leaves the user wondering why their commit isn’t appearing in JIRA.

If a webhook is missed, the integration should be able to recover.

Potential solutions:

  1. Manually retrigger. Provide button to user, allowing them to manually resend the event.
  2. Recurring sync. Sync hourly from last cursor point. Downside: this would overwrite “files changed” data and may not trigger transitions. This could be mitigated by checking if the data was present before writing it during the sync using the existsByProperties endpoint.
  3. Retry failed webhooks. Use the delivery API to retrigger missed webhooks.

Recommended solution

If schedules allow, my preferred solution is option 3. It would be relatively straightforward to implement and would ensure the data that reaches JIRA is of the highest quality (some data, like “files changed” isn’t available via the sync).

If option 3 isn’t feasible, option 2 seems like the next best choice for a few reasons: (a) it isn’t blocked by other work, like option 1 and 3, (b) it doesn’t require interaction from the user, © it leverages the existing sync code. Ensuring we don’t override existing data introduces some complexity.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
jnrainecommented, Aug 2, 2019

@scepticulous option 1 won’t be possible for a few months yet.

Did you mean “If Option 3 isn’t feasible”?

Oops. I got mixed up. Fixed!


I’m going to pause this until next week when we get timelines for webhook delivery API.

0reactions
rachellerathbonecommented, Jul 14, 2021

As it has been almost 2 months with no response, closing this issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Jira GitHub Integration: the Comprehensive 2022 Guide - iDalko
Here you will find the simple steps that can help you go from syncing your work by hand, to fully integrating your Jira...
Read more >
The Ultimate Manual to Jira Github Integration - Nira
As we mentioned above, both Jira and GitHub have their strong suits and drawbacks. This reality isn't necessarily because one tool is better...
Read more >
atlassian/github-for-jira: Connect your code with your project ...
Sign in to your Jira Cloud account. From the left sidebar in Jira, select Jira Settings > Applications > DVCS accounts. Follow the...
Read more >
Integrate with GitHub Cloud - Atlassian Support
Integrate GitHub or GitHub Enterprise to Jira Cloud and see branches, commit messages, and pull requests directly in the issues.
Read more >
Atlassian vs GitHub 2022 | Gartner Peer Insights
As we have rolled it out, we are improving the use of it for sub-task and dependency deliverables and cross team management. Read...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found