DEV Community

Cover image for a solution to contributors creating multiple issues in open source - need feedback 🤞
Anmol Baranwal
Anmol Baranwal

Posted on

a solution to contributors creating multiple issues in open source - need feedback 🤞

In some open source projects, contributors make lots of issues with some time between them, making it hard to manage. The more issues there are, the tougher it gets.

Every good open source project or major organization deals with this problem.

In general, contributors start with just one issue at a time. As they contribute more, they are allowed to work on multiple issues because they would have gained the trust of maintainers.

Now, during Hacktoberfest or other open source events.
Most of the contributors create multiple issues even when it's mentioned in the guidelines not to do so.

contributing guidelines

We faced a lot of problems in tracking if a contributor made several issues because they are human and have the intelligence to bypass the system.

In our situation, there are 3-4 maintainers, and each maintainer assigns the issue whenever they can. So, sometimes when I assign someone, he creates an issue after some gap, and this time another maintainer assigns it.

We cannot go back to check which maintainer is assigning whom.
We can solve it with just 1 person assigning issues, but it is still a problem on how one can remember that anyway. For instance, this is not feasible where issues cross 100 or so.

This creates a major problem for maintainers to track how many contributors have created multiple issues.

As you know, I'm a developer and a very picky one :D
I solved this myself since there was no existing solution.

The solution

I created handle multiple issues workflow to handle this efficiently and quickly.

With this GitHub workflow, you can automate tasks whenever an author creates multiple issues.

So, you can see the case of LinksHub Issue #2251.

The bot clearly says this.

example

This helps the maintainers because the issues are linked, and it will get noticed.

Now, I have made it good enough to use it in any organization.

name: Handle Multiple Issues

on:
  issues:
    types:
      - reopened
      - opened
jobs:
  handle-multiple-issues:
    runs-on: ubuntu-latest
    steps:
      - name: Handle Multiple Issues
        uses: Anmol-Baranwal/handle-multiple-issues@v1
        with:
          label: "multiple issues" #default
          close: false  #default
          issueNumber: true  #default is true
Enter fullscreen mode Exit fullscreen mode

Marketplace: github.com/marketplace/actions/handle-multiple-issues

 

What I did was create options.

These options improve the solution for many end-user cases and can make it ready to use in good open source projects.

You can read about options here. I will explain, even if you don't want to.

use cases with options

You can also filter the issues assigned to the author in that open source project.

You can add your own comment message (even multiline) to the issue. (Can be fully customized)

You can add label/labels based on your preferences.

Optionally, you can also close the issue (previous issues won't be affected), and only the current issue will be closed.

You can ignore this workflow for specific users by using ignore users.

You can directly pass ignoreCollaborators.

These are some of the screenshots that you can see to understand the context better.

Workflow:

workflow

Result:

output of the workflow

There are many more which you can learn more from the readme.


I need serious feedback on this.
Thanks for any help you can provide :D

  1. What else can be added here?

  2. What can be improved?

  3. Is it good enough to use in any open source project?

Thanks a bunch!

Repo: github.com/Anmol-Baranwal/handle-multiple-issues
Marketplace: github.com/marketplace/actions/handle-multiple-issues

You can connect me on GitHub.

Anmol-Baranwal (Anmol Baranwal) · GitHub

Top 5% GitHub 💜 Open Source Advocate & Maintainer 😄 Full-Stack Developer 🔖 Technical Writer (100k+ Views) 🔥 Managing 5+ Communities 🚀 Open for collab - Anmol-Baranwal

favicon github.com

Top comments (4)

Collapse
 
geromegrignon profile image
Gérôme Grignon

The title and the introduction are misleading: creating an issue and being assigned to resolve it are two different things. You can become a contributor by opening issues, identifying bugs or proposing pull requests, without working on them by submitting a pull request.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Yeah! I never noticed that.
Subconsciously, I assumed that the issues created are assigned to the author. However, there's no straightforward way to verify if the author has been assigned another issue without using filters, which is a lengthy process.

Thanks for your feedback; I really appreciate it.
I will change the context tomorrow.

Collapse
 
jhonsmertin841 profile image
jhonsmertin

Implementing stricter guidelines for issue creation could help reduce multiple submissions. Additionally, encouraging Verify contributors to thoroughly search existing issues before creating new ones might also prevent duplicates.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Yeah, it could be helpful for people who know the basic etiquette of open source.
Lots of beginners just avoid it and do things even when they're told not to.
Even simple guidelines can work if the contributors know a little about open source.
Didn't understand that verify link. I think it's something unrelated.