Filter and Find an Issue on Github
A quick guide to filter and sort issues as per your interest/skills on GitHub.
Are you stuck in finding an open-source project to contribute to?
We will see how you can pick up an issue on GitHub appropriate as per your preferences of languages, labels, complexity, and thus you can find a Community or a project to work and continue with further contributions.
This process might not be as efficient but is quite helpful for beginners or people getting started to contributing to Open Source.
Understand the search bar
I assume you have your GitHub account already created. If not go ahead at Github and create one. On the Home page, you can easily navigate to the
Issues tab and you will see something like this:
Now, you won't find any issues if you haven't created any. But if you look at the search bar, you will find the reason why it is empty or why there are only the issues that you have created. You will see that in the search bar there is a filter called
author:Username, which filters the issues which are created by you. You definitely don't want this as you want to search and find other issues by other people/communities. So, simply remove the text
author:Username from the search bar. Keep rest as it is for now. Now if you press enter after removing the author filter, you will see all the issues on GitHub.
There will be a ton of them, very random in terms of programming languages, frameworks, projects, difficulty, type, etc. they are basically the issues created recently on GitHub.
In the next section, we will see how to filter those issues as per the programming languages/tools to which you might like to contribute to.
We can add filters to the issues as
language:name, this will filter all the Issues which have the languages in their codebase.
Here, I have filtered the issues which have language as
python, you can use any language/tool you might want and would love to find some interesting projects to contribute and learn from.
If you want to search by multiple programming languages you can separate the names of those programming languages by a comma
You can also separate programming languages with space and enclosing all of them under double quotes
Let's search for issues with C, C++, and Java as their programming languages, we can use
language:"c cpp java"
The above filter will give out all the issues which are created from programming languages either C/C++/Java.
You can find more filter options on the GitHub docs.
You can find issues as per labels marked on them, many issues have a label marked on them to improve their visibility and meta-information about the issue.
We have some labels which GitHub has created already for common scenarios in projects.
good first Issue
We can even create our own labels by providing the label name and a description.
To search for labels, you can use
label:name of the label. You can any of the above 9 label tags or any other tag name that you think is popular other than those 9.
You would have to use double quotes (
"") to add certain labels with multiple words like
good first issue or
If you search for
label:"good first issue", you will get all of the issues(newest first) which have a label
good first issues tagged on them.
Similarly, for multiple issues, you can add comma-separated labels as well. Just like
label:bug,"good first issue" will search for either
good first issue or both.
More Sorting Options
In the rightmost part of the search bar, in the Sort button, you can click on there and find a couple of options like:
recently updated, and so on. If you click on any of them you will see the changes reflected on the list of issues as well as the search bar.
After this the stage is yours, you can look at any issue and Understand its objective, then ask yourself can you solve this issue? if yes then read the contribution guidelines, and the rest is sheer skills like git, programming, documentation, etc.
Now you can go ahead and start applying the filters on issues and make some contributions to Open-Source on GitHub. We covered some methods and tricks to find and filter out the issues on GitHub based on the programming languages/tools and the labels attached to them.
This technique can be good for beginners as well as people who want to find quick issues to solve. Feel free to explore and try out different filters and find the issue you are confident to work on. Good Luck! Happy Coding :)