GitLab is the best issue tracking tool in terms of features, code integration, code reviews to improve the Quality of your application.
Even you can assign issues to your team, milestones and merge requests by categorizing with different labels like New Feature, Enhancement, Bug etc. So, in further you can easily track how many issues are resolved for each milestone & merge request.
Git Merge Request:
After pushing your code into git you need to create a merge request in commits. It's nothing but merging your updated code(local working directory) with existing code(server repository). In that merge request, you can specify the issue id's which are fixed in that commit.
Example: #Issue id1, #Issue id2 "Your Merge Request(text)"
We can assign members to projects/milestones/issues. So, only authenticated members can only access either milestones or issues under that project.
Based on issue status the project milestone percentage(performance) will be calculated. And in the milestone overview page, you can move issues from one board to another board like new issues to ongoing, ongoing to closed.
Create an issue:
You can create a new issue in issues page. Click on the new issue button to create a new issue. It contains the fields like Issue Title, Issue Description, Assignee(you can assign only one user for an issue), milestone, labels(Whether it is new, enhancement, bug etc.)
If you have a lot of issues in the project you can filter those issues by the assignee, author(created user), milestones, labels, issue status, created a timeline in issues list page.
In the issues list page, we have basic details about an issue like issue title, id, created date, updated date, author(who have created the issue), comments count(how many comments are created for that issue).
Comment on issue:
Only authenticated member can only comment on that issue.
@username your comment
You can specify the assignee name in username place. Then the user will get a notification mail about the issue.