Connecting Jira and Team Foundation Server: Any Solutions?

Hey everyone,

I’m trying to find a way to link up Jira and Team Foundation Server (TFS) in our company. We’ve been using both tools separately, but it’s becoming a real headache to keep everything in sync.

Has anyone come across a good plugin or tool that can help bridge these two systems? I’m looking for something that can:

  • Sync issues between Jira and TFS work items
  • Maybe update statuses automatically
  • Ideally, allow for two-way communication

I’ve done some googling, but I’m not sure which options are actually worth trying. Any recommendations or experiences you can share would be super helpful. Thanks in advance for any tips!

hey mike, i’ve used the TFS4JIRA plugin before and it worked pretty well for us. it syncs work items and updates statuses automatically. setup was a bit tricky but support was helpful. just watch out for performance issues if you’re syncing a ton of items. good luck!

I’ve been in a similar situation, and after some trial and error, we found Exalate to be quite effective for connecting Jira and TFS. It offers robust two-way synchronization, which was crucial for our team. The setup process took some time, but it was worth it for the seamless integration we achieved.

One key advantage was the ability to customize field mappings, ensuring our specific workflow requirements were met. We also appreciated the automatic status updates, which significantly reduced manual tracking.

That said, be prepared for a learning curve. It’s not a plug-and-play solution, but the flexibility it offers makes up for the initial complexity. Also, keep an eye on performance as you scale up the integration. We had to fine-tune our setup a few times to optimize sync speed as our project grew.

I’ve actually had some success using a custom integration approach with Azure DevOps (formerly TFS) and Jira. We built a middleware solution using Azure Functions that leverages the REST APIs of both systems. It wasn’t exactly plug-and-play, but it gave us precise control over what data synced and how.

The key was carefully mapping fields and statuses between the two systems. We focused on syncing only the essential data to avoid clutter. One challenge was handling merge conflicts, so we implemented a conflict resolution mechanism.

Performance-wise, it’s been solid. We use webhooks to trigger syncs only when needed, which keeps things efficient. The learning curve was steep, but now we have a tailored solution that fits our workflow perfectly. If you have dev resources, this route might be worth considering for maximum flexibility.