Skip to content

Group roadmap view of epics

See latest ongoing designs in comment thread.

Design

Issue states and timestamp/date mapping to epics

  • All issues in epic are closed: Epic is complete.
  • All issues in epic are open: Epic is not started.
  • At least one issue in epic is in progress: Epic is in progress.
  • Epic planned start date: From epic field.
  • Epic planned end date: From epic field.
  • Epic actual start date
    • If all issues are open, then actual start date is null. I.e. we ignore the fact that some issues might have went into in progress and then gone back to open.
    • Next, find the earliest non-null enter-in-progress timestamp. If it exists, this is the actual start date.
    • Last, take the earliest non-null closed_at timestamp. This is necessary if all issues just switched directly from open to closed.
  • Epic actual end date
    • If there are any open issues or in-progress issues, the actual end date is null.
    • Otherwise, look at all closed_at timestamps. Take the latest one. That is the epic actual end date.
    • Some legacy issues don't have closed_at timestamps. If all closed issues in the epic here don't have a closed_at timestamp, just take epic actual end date as epic planned end date.

Not in scope

Edited by Victor Wu