Skip to content

[Feature] Add automated project board #14359

Open
@delvh

Description

@delvh

Description

GitHub has a feature for projects that automatically get updated when certain events occur.
This is in my opinion one of the most requested features to be added for project boards, as it saves a lot of time, when all issues are automatically categorized correctly.
In the end, a mechanism similar to that GitHub is using should be implemented.
By that I mean:

  1. all issues start in the Uncategorized/To do category when they are created (as far as I know that was recently implemented, maybe a week ago)
  2. once a branch is opened aimed at fixing the issue, the issue gets moved to In progress (here, Gitea can track that even better than GitHub because GitHub only looks for whether someone has been assigned to the issue if I'm not mistaken) EDIT: Okay, my memory seems to have betrayed me. As it seems, users have to manually add an issue into the In Progress board. That can be improved here as Gitea stores branches related to issues.
    2a) When the branch gets closed without merging, or when someone removes the affiliation between branch and issue manually (drop down menu in issues view (clear references)), the issue gets sent back into Uncategorized/To do.
    2b) If a PR exists wanting to fix the issue, and the underlying branch gets deleted, the PR should also be added into Done/Not worked on (see 6.)
    2c) When testing this, I noticed a little bug: When an issue has a branch assigned and the branch gets deleted without merging, the issue will still think it depends upon the non-existing branch.
  3. As soon as a PR gets opened, the issue gets moved into Under Review (Review in progress). The PR automatically gets added to the given project as we can assume that a PR for a specific issue is meant for the same project into the same category as the issue - if this is one of the rare cases where this is not the case, the user should manually move it themselves…
  4. Once the PR is ready to get merged, the issue (and the PR?) get moved into Approved.
  5. When the PR is closed (and the issue with it) they get both moved into Done
  6. If an issue/ PR is closed without merging/ fixing, they might automatically be moved into
    a) Done - if we say they have been closed so they should be treated as a normal closed issue
    b) Not worked on - if we say that while they might be closed, they should somehow be marked as closed but not because it was fixed
    (the choice here is up to the person(s) implementing it)

All of this can be added as a separate menu item Automated KanBan in the Create Project dialogue.

Graphically, I'd say we can orient on the design GitHub chose in combination with the currently available project boards.

To keep this branch at least somewhat "small", I'd suggest that adding a Manage button for each automated board (see Screenshot below) should be postponed for later.
For now, it should suffice if users delete and recreate a project (board) if they don't want it automated anymore.

Screenshots

Current design used by GitHub:
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic/projectstype/featureCompletely new functionality. Can only be merged if feature freeze is not active.type/proposalThe new feature has not been accepted yet but needs to be discussed first.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions