DEV Community

Shunsuke Suzuki
Shunsuke Suzuki

Posted on

Improve OSS issue management with GitHub Issue/Discussion template and actions

In this post, I describe how I improved some OSS's issue management.

e.g. https://github.com/suzuki-shunsuke/tfcmt/pull/764

Enforce users to use Discussion instead of Issue

I set up GitHub Actions to close issues created by users automatically.

e.g. https://github.com/suzuki-shunsuke/tfcmt/blob/4a164485908ee216cd9534900dea82e652c00b38/.github/workflows/close-issue.yaml

image

Users have to use GitHub Discussions instead. Only maintainers can create issues. This keeps issues maintainable and actionable.

In many projects, the distinction between the use of Issue and Discussion is ambiguous and varies from person to person.
This ambiguousness often raises friction and frustration.
By enforcing users to use Discussion, the ambiguousness would be solved.

Before creating an issue, users would be able to understand the rule by issue template's warning.
By disabling blank issues, users can't ignore templates.

e.g. https://github.com/suzuki-shunsuke/tfcmt/issues/new/choose

image

And the header of issue templates guides this rule to users.

image

Discussion template

I provide various templates for various use cases.

e.g. https://github.com/suzuki-shunsuke/tfcmt/discussions/new/choose

image

If the type of categories isn't enough, users would not be able to choose appropriate category and use general purpose category which isn't well-formatted.

And GitHub's form schema enforces users to write required information and the schema unifies the format of discussions.
This would improve the quality of discussions.
This reduces the miscommunication, the communication to ask required information, and the burden of maintainers.

e.g. https://github.com/suzuki-shunsuke/tfcmt/discussions/new?category=bug-report

image

The non structured category is also provided for general purpose, but the template header encourage users to use other categories.

image

All categories are Answers enabled, so we can make the conclusion easy to understand and clarify the status without closing the discussion.

Top comments (0)