narrowizard commented on issue #8446:
URL: 
https://github.com/apache/incubator-devlake/issues/8446#issuecomment-2917987675

   Based on the proposed plan, here's a detailed breakdown:
   
   **1. New CSV Template Structures:**
   
   We will implement the following new CSV template structures:
   
   * **`sprints.csv`:**
       * `id`: `varchar`
       * `board_name / project_name`: `varchar` (Consistent with `issues.csv`)
       * `name`: `varchar`
       * `url`: `varchar` (Iteration web link, optional)
       * `started_date`: `datetime` (Planned start time of iteration)
       * `ended_date`: `datetime` (Planned end time, optional)
       * `completed_date`: `datetime` (Actual completion time of iteration)
       * `status`: `enum` (CLOSED | ACTIVE | FUTURE)
   
   * **`issue_changelogs.csv`:**
       * `id`: `varchar(255)`
       * `issue_id`: `varchar(255)`
       * `author_name`: `varchar(255)` (Will generate `account` record via 
author name)
       * `field_name`: `enum` (status | Sprint | assignee)
           * When `field_name` is `status`, `original_from_value` and 
`original_to_value` will be status values (e.g., Pending, In Progress, Done).
           * When `field_name` is `Sprint`, `original_from_value` and 
`original_to_value` will be sprint IDs, comma-separated (e.g., 
`sprint_id_1,sprint_id_2,sprint_id_3`). An empty value indicates no iteration 
set.
           * When `field_name` is `assignee`, `original_from_value` and 
`original_to_value` will be assignee names, and will be converted to 
`account_id` during data import.
       * `original_from_value`: `text` (Original value, different values based 
on `field_name`)
       * `original_to_value`: `text` (Changed value, refers to 
`original_from_value`)
       * `created_date`: `datetime` (Creation time)
   
   * **`issue_worklogs.csv`:**
       * `id`: `varchar(255)`
       * `author_name`: `varchar(255)` (Author name, will create `account` 
record and convert to `id`)
       * `comment`: `text` (Worklog description, optional)
       * `time_spent_minutes`: `int` (Work time, in minutes)
       * `logged_date`: `datetime` (Log time)
       * `started_date`: `datetime` (Start time)
       * `issue_id`: `varchar(255)`
   
   **`issues` table new field and `sprint_issues` table data import:**
   
   * **`issues` csv:** We will add a new field `sprint_id` (type: `varchar`) to 
the existing `issues` csv. This field will represent the current sprint(s) an 
issue belongs to. It can be empty, and multiple sprint IDs will be separated by 
commas.
   * **`sprint_issues` table:** We will implement the logic to import data into 
`sprint_issues` table. This table will be populated based on the `sprint_id` 
field in `issues.csv`, establishing the many-to-many relationship between 
sprints and issues.
   
   This plan addresses the core requirements of importing comprehensive issue 
tracking data, including historical changes, worklogs, and sprint associations. 
We will ensure proper data parsing, transformation, and linkage to DevLake's 
domain layer entities.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@devlake.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to