You have a two-way 2.0 integration between Aha! and Jira, and you have configured the status field to be a two-way sync.
When you push records from Aha! to Jira, you notice that duplicate records are created in Aha!, and your integration logs contain an error with the message, "No valid transition to status [####] for issue [prefix-###]," where [####] is the number of the specific status and [prefix-####] is the issue ID of the record.
When you send a record from Aha! to Jira for the first time, the following happens:
- We create a record in Jira.
- We update that record with the information from Aha!
This is usually done nearly instantly so from an end-user perspective, you see a record created with all the information from Aha!
However, in this scenario, you have configured your status sync to be a two-way integration, and status transitions in Jira that are failing to allow us to sync status from Aha! to Jira correctly.
2.0 integrations allow you to configure the directionality of every field mapping, so it is possible to make status a two-way sync. But our default integration mapping is that status is a one way Jira to Aha! sync.
The problem that arises when syncing status from Aha! to Jira is that while Aha! lets users transition statuses however they want, Jira is often configured so statuses can only transition in a specific way. For example, assume you have three feature statuses:
- In progress
- In review
Aha! lets a user skip directly from In progress to Complete, but Jira might require a user to move a record from In progress to In review before the record can be moved to Complete.
When Aha! tries to sync that to Jira, it fails because Jira reports that status jump as an invalid transition. That is why we default to, and recommend, making status a one-way sync.
So in the case of a two-ways status sync, here is what happens when you send a new record from Aha! to Jira:
- We create the record in Jira.
- We update the record with information in Aha! — and this fails because Jira blocks us from appropriately setting the status.
- The integration considers the overall sync a failure, but the record was still created in Jira. So Jira picks this up in the webhook, sends it back to Aha!
- Aha! sees that no record in Aha! is integrated with this Jira record and subsequently creates a new copy in Aha! — thus the duplication.
The fix here is either to set statuses to be a one-way Jira to Aha! sync.
Alternatively, you can dive into the workflow of statuses in Jira and ensure that your statuses all have valid transitions between one another so that Aha! doesn't run into problems when trying to sync statuses from Aha! to Jira.