When a user temporarily deletes a requirement in Confluence and recreates it, it destroys the link to this requirement in Jira. It can happen in 3 situations:
The user wants to split a page of 400 requirements into two pages. They cut-and-paste half of the page, saves the first and saves the second. In the tiny time before the second is saved, requirements don't exist and messages are sent to Jira.
The user switches from importing through Excel to importing as a table in a page,
The user clears a page to reimport a document, pastes it, saves, replaces the keys with RY macros in view mode.
Suggestion
Create a new type of message to Jira, "REQUIREMENT_TRASHED", so Jira adds a flag to the RemoteRequirement table such as "deleted=true".
This new type of message shouldn’t be recognized by older versions, so older versions which are not compatible will keep their links to deleted requirements.
Those requirements in Jira shouldn't be returned by the StorageAPI at all,
The link should keep existing in Confluence,
When restoring a requirement in Confluence, and it has links to Jira, send the message "REQUIREMENT_RESTORED".
When should the requirement in Jira entirely disappear? I'm not comfortable with keeping content that users might believe is deleted, without providing a way to delete them.
Those event names are too long, we generally find shorter names.
When a user temporarily deletes a requirement in Confluence and recreates it, it destroys the link to this requirement in Jira. It can happen in 3 situations:
The user wants to split a page of 400 requirements into two pages. They cut-and-paste half of the page, saves the first and saves the second. In the tiny time before the second is saved, requirements don't exist and messages are sent to Jira.
The user switches from importing through Excel to importing as a table in a page,
The user clears a page to reimport a document, pastes it, saves, replaces the keys with RY macros in view mode.
Suggestion
Create a new type of message to Jira, "REQUIREMENT_TRASHED", so Jira adds a flag to the RemoteRequirement table such as "deleted=true".
This new type of message shouldn’t be recognized by older versions, so older versions which are not compatible will keep their links to deleted requirements.
Those requirements in Jira shouldn't be returned by the StorageAPI at all,
The link should keep existing in Confluence,
When restoring a requirement in Confluence, and it has links to Jira, send the message "REQUIREMENT_RESTORED".
When should the requirement in Jira entirely disappear? I'm not comfortable with keeping content that users might believe is deleted, without providing a way to delete them.
Those event names are too long, we generally find shorter names.