Add issue resource_iteration_events to Project Import/Export
What does this MR do and why?
This MR:
- Adds issue iteration to Export in order to map it on Export
- Adds
resource_iteration_events
information to issues in order to show interation related events on issues
This information is require in order to accurately show iteration burn down/up charts.
There are a few limitations:
- Skip
iteration
orresource_iteration_event
when importing, if a project is being imported to a namespace and not a group. According to our documentation (and model validations) iterations are currently not allowed to be created on a project level - When project is imported to a group, we only try to map existing iterations to issues without trying to create them if no iteration was found. This is because iteration cadence is required to be associated with an iteration which we cannot create within ObjectBuilder. Skip creating iterations, at least for now
- For
resource_iteration_event
, after we've built the object but the iteration isnil
, do not save it, as such object is invalid. It's allowed to persist such object, but if we open this issue in the UI, it will fail to load all comments
Mentions #291983 (closed)
Screenshots or screen recordings
How to set up and validate locally
- Create a group and a project in it
- In a group, create iteration cadences with iterations
- In a project, create a new issue
- Assign one of iterations to an issue a few times in order to generate
resource_iteration_events
- Export the project (in General -> Advanced settings)
- Download exported project
tar.gz
file - Import the project using exported project
tar.gz
file into the same group that has iteration cadences. - Verify imported issue has preserved iteration events
- Verify issue has iteration associated with it
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by George Koltsov