How can I set Default approvers from the GitLab repo side? - gitlab

I got to know GitLab has a feature called, Default approvers.
And I found many conversations going around this topic in the GitLab EE issue tracking.
Some have suggested to keep a .yaml file to keep the Default approvers list, And someone told that readme.md is the file.
And also found a feature request which is still in the backlog:
Default Approvers for a merge request depend on what team a user is in
But I would appreciate if someone can tell what is the latest feature (let's say in v10.3.X) with GitLab to keep list of Default Approvers ?

The only closed recent issue I can find related to approval assignment is 1593, which is closed by MR 1892:
Selecting individual approvers
GitLab restricts the users that can be selected to be individual approvers. Only these can be selected and appear in the search box:
- Members of the current project
- Members of the parent group of the current project
- Members of a group that have access to the current project via a share
Those are the default members available to be selected as approvers.
There isn't yet a custom default list implemented.

Related

Gitlab notifying default approvers

Is there any solution out of the box gitlab offers regarding sending emails for default approvers!
In other terms: if I am a default approver for a project X, then I want to receive an email whenever a new merge request is open in this project !
This is doable in bitbucket, not sure if it is the case also with gitlab.
Any help would be appreciated.
There isn't a global setting for
sending emails for default approvers
However, you can make use of Custom Notifications. They can be set at a project or a group level by the approvers themselves.
For example, you can click the bell icon in a given project and select Custom. By default Failed pipeline, Fixed pipeline, and Moved project are enabled in Custom notification events. You can then enable notification on New merge request as well.

GitLab- List of reviewer

I am new to GitLab. I want to create a list of reviewers for my project. How do I can create it? I just want to assign a reviewer from my group to one merge-request.
TIA
There are several possibilites regarding the Merge Request Approvals documentation:
Enforcing review of all code that gets merged into a repository.
Specifying reviewers for a given proposed code change, as well as a minimum number of reviewers, through Approval rules.
Specifying categories of reviewers, such as backend, frontend, quality assurance, database, and so on, for all proposed code changes.
Designating Code Owners as eligible approvers, determined by the files changed in a merge request.
If you want to organize your developers, you can also use a group, for example.

Gitlab Hide Projects From Dashboard

Problem
I have a gitlab with a lot of old repositories. I want to mention my gitlab as a reference on my CV but I do not want all the old repositories to appear there, just the more relevant ones.
Just making the projects private is not enough as this leaves a lot of clutter in my dashboard and it is hard to see the projects I am trying to showcase.
I do not want to delete the old projects, as I want access to them in the future, I just want to hide them from other people to see that they even exist.
What I Tried
I tried archiving the old projects but they still appear on my Projects lists, just with an archived tag.
I saw mentions of playing with the "Metrics Dashboard" under the visibility settings but this is greyed out for me + I do not think this is what I need from my understanding.
Required Result
For me to be able to choose which projects appear and do not appear in my gitlab dashboard.
Thanks in advance for any help available!
EDIT
I found out that I can star and un-star projects, and that will count as activity on the project without actually changing anything. As the dashboard displays projects by when there was last activity on them then you can actually arrange your project by staring and un-staring the projects in the reverse order you want them to appear.
This somewhat does what I want, but with an ugly work around. Also it will always display 10 projects as far as I can tell, so if I want to only showcase 6 of them the best I can do is push the 4 I don't want to the bottom, but I still can't hide them completely.
This is why I am not writing this as an answer to my question. There has to be a way to just tell a project to be hidden or arrange the projects without this ugly workaround, and if there truly by design isn't a way of doing this then it will also just be good to be officially told that.
GitLab Groups do exactly what you need. See here for more info.
You can assign each project to a different group
You can move a project from one group to another as needed
You can assign different permissions and visibility for each group
You can also create subgroups
Each group/subgroup is treated as a separate namespace, meaning you access it using a different URL
So you can define a public group called yourfullname and a public subgroup called portfolio. Move the projects you want prospective employers to view to the portfolio subgroup and make sure their visibility is also public. All other groups/subgroups should be private. Then people can access your projects by visiting the following URL:
gitlab.com/yourfullname/portfolio
You can still view all of your projects in a single dashboard if you want, or you can view all projects within a group or sub-group by navigating to the desired group URL or dashboard. In the image below, archive and development are private (see the lock icon), but portfolio is public:

Azure Devops Wishlist backlog (StakeHolder create Work Item, but don't edit)

We are using Azure Devops with our team, we want to have a space were other colleagues out of our team can add ideas about future project.
We created a specific Backlog "Wishlist" and give to some users a StakeHolder account. We added them to the members of this backlog.
We want them to be able to create ticket, but not to edit them (no delete, no chamgement of state ...)
Our team that have admin rights will be able to operate those work items (accepted, rejected, Active and Close)
I look for a solution to restrict those user from editing but was not able to found a successful way to do it.
-In Rules, We couldn't specify those specific rule about work Item edition
-In Project Settings / Permissions / Wishlist
we don't have any permision linked to the Work Items
-In Project Settings / Project Configuration / Areas / Wishlist / Security
We can set for specific users "Edit Work Items in this node" to Deny, but they will not be able to create Work items
If someone have an idea about how to deal with this request, it will be highly appreciated.
Thank you
Sorry, it's not able to do this right now.
A user needs to have the Edit work items in this node permission for some Area and Iteration path to create a work item.
There is no sperate permission for either creating or editing work item. This is by designed.

Search Gerrit changes by user access rights

We have a Gerrit with quite a huge namespace and projects environment and every project has different rights in a matter of code-review or workflow voting and submitting. I sometimes create a set of batch changes accross several projects and then I need reviewers to check and submit. Is there any way how to filter the search results to show only the project which the user searching them can review or submit? Currently, I usually send the results just based on the topic, but this approach still shows all the changes to the reviewers even if they don't have rights to review. Any ideas on how to do or workaround this?
This solution is not exactly what you search for but maybe it can help:
You can use the clause visibleto:'USER-or-GROUP' to match only changes that are visible to 'USER' or to anyone who is a member of 'GROUP'.
More info in Gerrit documentation here.

Resources