GitLab issueshttps://gitlab.com/gitlab-org/gitlab/-/issues2023-03-21T20:29:34Zhttps://gitlab.com/gitlab-org/gitlab/-/issues/388853Wiki usage: read / writes of users2023-03-21T20:29:34ZFlorian GärtnerWiki usage: read / writes of users<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical detail...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
It would be helpful for our organization to be able to fetch usage data of project and group wikis in following regards:
- ability to get number of reads in total of a specific wiki page
- ability to get number of users which read a specific wiki page
- ability to get number of writes/updates in total of a specific wiki page
- ability to get number of users which write/updates a specific wiki page
This helps us to see which pages are often used and probably should be treated as more valuable
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/388155Ability to limit protected environments to specific tags and branches2023-12-11T08:30:33ZHordur Freyr YngvasonAbility to limit protected environments to specific tags and branches<!-- This issue template can be used as a great starting point for feature requests. The section "Release notes" can be used as a summary of the feature and is also required if you want to have your release post blog MR auto generated us...<!-- This issue template can be used as a great starting point for feature requests. The section "Release notes" can be used as a summary of the feature and is also required if you want to have your release post blog MR auto generated using the release post item generator: https://about.gitlab.com/handbook/marketing/blog/release-posts/#release-post-item-generator. The remaining sections are the backbone for every feature in GitLab.
The goal of this template is brevity for quick/smaller iterations. For a more thorough list of considerations for larger features or feature sets, you can leverage the detailed [feature proposal](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md). -->
### Release notes
<!-- What is the problem and solution you're proposing? This content sets the overall vision for the feature and serves as the release notes that will populate in various places, including the [release post blog](https://about.gitlab.com/releases/categories/releases/) and [Gitlab project releases](https://gitlab.com/gitlab-org/gitlab/-/releases). " -->
### Problem to solve
It is possible to [protect environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html#protected-environments) and [protect branches](https://docs.gitlab.com/ee/user/project/protected_branches.html#who-can-modify-a-protected-branch), but it is not possible to restrict deployments of an environment to specific branches. This means that a maintainer can accidentally (or on purpose) deploy changes to a protected environment from within a merge request.
This would also be a more generic alternative to building an analogous feature into the GitLab agent's CI/CD tunnel (see https://gitlab.com/gitlab-org/cluster-integration/gitlab-agent/-/issues/229).
### Proposal
In the settings for a protected environment, add two distinct settings:
- Branch selection: Wildcard pattern and whether the matching branch must be protected
- Tag selection: Wildcard pattern and whether the matching tag must be protected
### Intended users
<!-- Who will use this feature? If known, include any of the following: types of users (e.g. Developer), personas, or specific company roles (e.g. Release Manager). It's okay to write "Unknown" and fill this field in later.
Personas are described at https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/
* [Cameron (Compliance Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#cameron-compliance-manager)
* [Parker (Product Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#parker-product-manager)
* [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead)
* [Presley (Product Designer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#presley-product-designer)
* [Sasha (Software Developer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer)
* [Priyanka (Platform Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#priyanka-platform-engineer)
* [Sidney (Systems Administrator)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sidney-systems-administrator)
* [Sam (Security Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#sam-security-analyst)
* [Rachel (Release Manager)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#rachel-release-manager)
* [Alex (Security Operations Engineer)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#alex-security-operations-engineer)
* [Simone (Software Engineer in Test)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#simone-software-engineer-in-test)
* [Allison (Application Ops)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#allison-application-ops)
* [Ingrid (Infrastructure Operator)](https://about.gitlab.com/handbook/product/personas/#ingrid-infrastructure-operator)
* [Dakota (Application Development Director)](https://about.gitlab.com/handbook/product/personas/#dakota-application-development-director)
* [Dana (Data Analyst)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#dana-data-analyst)
* [Eddie (Content Editor)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#eddie-content-editor)
-->
### Feature Usage Metrics
<!-- How are you going to track usage of this feature? Think about user behavior and their interaction with the product. What indicates someone is getting value from it?
Create tracking issue using the Snowplow event tracking template. See https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Snowplow%20event%20tracking.md
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/388040Services failing to start should support aborting the CI job2024-03-27T09:22:06ZPer LundbergServices failing to start should support aborting the CI job### Summary
Services failing to start should support aborting the CI job
### Steps to reproduce
Set up a Docker-based GitLab runner with `privileged = false`, and attempt to use `docker:stable-dind` in `.gitlab-ci.yml`. The service st...### Summary
Services failing to start should support aborting the CI job
### Steps to reproduce
Set up a Docker-based GitLab runner with `privileged = false`, and attempt to use `docker:stable-dind` in `.gitlab-ci.yml`. The service startup will fail, and the job will the continue to run.
### Example Project
N/A
### What is the current *bug* behavior?
```
[0;33m*** WARNING:[0;m Service runner-5gyo7mm-project-2-concurrent-0-243a732bf87ce5ae-docker.example.com__example__docker-0 probably didn't start properly.
Health check error:
service "runner-5gyo7mm-project-2-concurrent-0-243a732bf87ce5ae-docker.example.com__example__docker-0-wait-for-service" timeout
Health check container logs:
Service container logs:
2023-01-13T07:54:31.295368737Z mount: permission denied (are you root?)
2023-01-13T07:54:31.295434061Z Could not mount /sys/kernel/security.
2023-01-13T07:54:31.295444525Z AppArmor detection and --privileged mode might break.
2023-01-13T07:54:31.296469773Z mount: permission denied (are you root?)
```
The job then continues to run, subsequently failing since it depends on the Docker-in-Docker instance being available.
### What is the expected *correct* behavior?
The log above is fine; the problem is that it can get obscured by the other parts of the job log (which even exceeds the maximum of 500 KiB in our case because of other reasons).
The https://docs.gitlab.com/ee/ci/services/ page describes:
> If the second stage of the check fails, it prints the warning: *** WARNING: Service XYZ probably didn't start properly. This issue can occur because:
>
> * There is no opened port in the service.
> * The service was not started properly before the timeout, and the port is not responding.
>
> In most cases it affects the job, but there may be situations when the job still succeeds even if that warning was printed.
Currently, the semantics are optimized for the "there may be" scenario. For the "in most cases" scenarios, it's currently impossible to "fail-fast" the whole job when the service startup has failed.
#### Suggested workaround
I am proposing something like this, in the `.gitlab-ci.yml`:
```yaml
services:
- name: docker:stable-dind
alias: docker
fail_fast: true # the new setting
```
The `fail_fast` setting would make GitLab Runner abort the job immediately upon failed health check for the service => faster feedback to the person running the job, which can sometimes be very helpful.
#### Results of GitLab environment info
<!-- Input any relevant GitLab environment information if needed. -->
<details>
<summary>Expand for output related to GitLab environment info</summary>
<pre>
System: Ubuntu 18.04
Proxy: no
Current User: git
Using RVM: no
Ruby Version: 2.7.7p221
Gem Version: 3.1.6
Bundler Version:2.3.15
Rake Version: 13.0.6
Redis Version: 6.2.8
Sidekiq Version:6.5.7
Go Version: unknown
GitLab information
Version: 15.7.2-ee
Revision: 78771c4b9a0
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 12.12
URL: https://git.example.com
HTTP Clone URL: https://git.example.com/some-group/some-project.git
SSH Clone URL: git@git.example.com:some-group/some-project.git
Elasticsearch: no
Geo: no
Using LDAP: yes
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version: 14.14.0
Repository storages:
- default: unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
</pre>
</details>
### Possible fixes
<!-- If you can, link to the line of code that might be responsible for the problem. -->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/388037Show number of currently assigned && opened issues when assigning issue to a ...2024-02-05T07:44:21Zsoftboy99Show number of currently assigned && opened issues when assigning issue to a user<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Add the ability to see the number of currently assigned && opened issues to a user. This will help managers a...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Add the ability to see the number of currently assigned && opened issues to a user. This will help managers as it would indicate the developer workload.
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/387579CI Includes documentation around Extends is confusing and missing examples2023-03-07T00:12:32ZBen ManifoldCI Includes documentation around Extends is confusing and missing examplesLink the doc and describe what is wrong with it.
https://docs.gitlab.com/ee/ci/yaml/#extends
I came away from this page still deeply confused about how I'm supposed to use the extends keyword. There seems to be no concrete examples tha...Link the doc and describe what is wrong with it.
https://docs.gitlab.com/ee/ci/yaml/#extends
I came away from this page still deeply confused about how I'm supposed to use the extends keyword. There seems to be no concrete examples that provide the same functionality as a yaml anchor, where I should be able to just provide something like *named-template in place of a script line and have that be filled in from the template provided in the include file
<!-- Don't edit below this line -->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/387284Setting milestones confidential2023-04-19T08:20:37ZArihantSetting milestones confidential<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical detail...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
It would be a value add if users can create confidential/private milestone which are visible/accessible only to users who are authorized to see it.
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/387240Release Please Integration - automated release merge request2024-03-20T16:21:09ZGregg RoemhildtRelease Please Integration - automated release merge request<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Many of us are already using conventional commits in our repositories to automate changelog generation and r...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Many of us are already using conventional commits in our repositories to automate changelog generation and release versioning through commit messages. This has many advantages, like
- auto patch, minor, and major (breaking) versions
- detailed changelog
The issue is that this process always requires a manual step and its difficult to determine what the outcome of that step is prior to doing it.
Google's [relase-please](https://github.com/googleapis/release-please) project solves this by automatically creating a "release merge request" that would be kept up to date with the main/master branch and when the release is ready, you simply merge it to deploy a release.
This solves the issue of determining
- what will be in this release
- what will the next version be called
- did we miss any features that we also want to include
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
I don't have enough internal knowledge of how gitlab bots work at the moment to determine technicalities but it seems like the bulk of the functionality exists, all that would need to happen is to develop a toggle in the repository settings to utilize `release-please` in the current repository.
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/386707Get an error when set up the name of `environment` with UTF-8 content2023-11-03T10:38:58ZAleenGet an error when set up the name of `environment` with UTF-8 content> GitLab version: GitLab Community Edition **14.10.5**
I have found that the old CI configuration has broken after upgrading GitLab, and it throws the error `This job could not be executed because it would create an environment with an ...> GitLab version: GitLab Community Edition **14.10.5**
I have found that the old CI configuration has broken after upgrading GitLab, and it throws the error `This job could not be executed because it would create an environment with an invalid parameter. How do I fix it?` when the `CI_COMMIT_REF_NAME` has UTF-8 content like Chinese.
```yml
environment: review/$CI_COMMIT_REF_NAME
```
I tried `CI_COMMIT_REF_SLUG`, but it still did not work.Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/386426Permit selective restore of metadata from deleted iteration cadence2024-03-28T09:47:18ZBrie CarranzaPermit selective restore of metadata from deleted iteration cadence<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Since gitlab-org/gitlab#343889, it is possible for users with the **Reporter** role (or higher) to [delete a...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Since gitlab-org/gitlab#343889, it is possible for users with the **Reporter** role (or higher) to [delete an iteration cadence](https://docs.gitlab.com/ee/user/group/iterations/#delete-an-iteration-cadence). That user or another user may [create a new iteration cadence](https://docs.gitlab.com/ee/user/group/iterations/#create-an-iteration-cadence) but all of the metadata associated with the cadence that was deleted is not retained.
The proposal: provide some mechanism to selectively restore iteration cadence metadata.
In order to [delete an iteration cadence](https://docs.gitlab.com/ee/user/group/iterations/#delete-an-iteration-cadence), the user must click **Delete cadence** once and a :red_circle: red **Delete cadence** button. This double confirmation is intended to prevent accidental deletions.
If an accidental deletion does occur, the only method available to recover is:
- Restore GitLab from a backup performed before the accidental deletion
and then either:
- Export the project that contained the deleted iteration cadence, import it and continue using it (accepting the loss of any other data in that project)
- Take a screenshot of the iteration cadence metadata and store it in the **Description** of the newly created replacement cadence
The goal of this feature proposal is to improve the available options should someone accidentally delete an iteration cadence.
## Items to Restore
The specific items to restore that we'd like to see include the mapping of the relationship between the iteration that was restored and issues that were attached to it.
Quoting the requesting customer directly:
> After the Iteration Cadence deleted there is no clue which iterations are added to the issues.
>
> For example, if a label is deleted there will be a update in issue like "added 1 deleted label just now". From the date and time we can identify the issues but if iteration is deleted no change history in any issues.
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->
### Customer Reference
- https://gitlab.my.salesforce.com/00161000015MAsEAwaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/386283Open Gitpod in a new tab in all contexts2023-04-22T03:58:56ZMarcel van Remmerdenmvanremmerden@gitlab.comOpen Gitpod in a new tab in all contextsThe following discussion from !106122 should be addressed:
- [ ] @mvanremmerden started a [discussion](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106122#note_1207943748): (+1 comment)
> ### Non-blocking: Gitpod in blob ...The following discussion from !106122 should be addressed:
- [ ] @mvanremmerden started a [discussion](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106122#note_1207943748): (+1 comment)
> ### Non-blocking: Gitpod in blob and tree view
>
> We can absolutely do this in a follow-up, but in the blob view (e.g. `/-/blob/main/LICENSE.txt`) and the tree view (e.g. `/-/tree/main`), only "Open in Web IDE" opens in a new tab, "Open in Gitpod" still opens in the same tab.Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/386139Use a sidebar in Commit detail view2024-03-27T12:36:27ZMichael LeUse a sidebar in Commit detail view<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
With https://gitlab.com/gitlab-org/gitlab/-/issues/325871+ for clarity and better scanability, we separated ...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
With https://gitlab.com/gitlab-org/gitlab/-/issues/325871+ for clarity and better scanability, we separated commits, branches, and tags into their individual rows. As a result the area this takes up for the same information takes up 3 rows which is larger than the previous iteration of one row. In pixel terms this is an increase from 58px to 174px.
The downside of this is that it is pushing the details of the commits down the page further.
A concept is to use the larger width layout of the new MR pages to display information about parent commits, branches, and tags in a sidebar. This sidebar would be sticky when scrolling so that the context of the commit metadata would be visible.
**This is a concept for now.** Will need to see if the display of the content is a problem for users.
| Rows (default) | Sidebar |
| ------ | ------ |
| ![image](/uploads/83c633defe4349afaaa8d6fe4082fe38/image.png) | ![image](/uploads/c647a27d2584f4c62fce2fe9a76f9265/image.png) |
<details><summary>Sidebar expanded</summary>
![image](/uploads/e6698e25ba2cf106d7b3d8028594ddf5/image.png)
</details>
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandMichael LeMichael Lehttps://gitlab.com/gitlab-org/gitlab/-/issues/386109Compare release tags from the Releases page2023-03-03T10:57:46ZMichael LeCompare release tags from the Releases page<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
On the Releases page, allow users to compare a release tag to another release tag.
This is helpful in the s...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
On the Releases page, allow users to compare a release tag to another release tag.
This is helpful in the scenario of trying to understand what kind of changes has happened between releases.
### Question
1. Is this useful to have at the Tag level as well to open a comparison view?
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/385944Slack Integration limit Notifications from specific users2023-04-26T00:29:45ZJack LevittSlack Integration limit Notifications from specific users### Proposal
I am currently working with a Slack Integration and some users/bots are making a lot of useless comments that we do not want populating our channels. We would like the ability to ignore the notes of specific users or whitel...### Proposal
I am currently working with a Slack Integration and some users/bots are making a lot of useless comments that we do not want populating our channels. We would like the ability to ignore the notes of specific users or whitelist/blacklist specific comments in our project stream.
The Slack Notifications API as far as I see does not have this feature.Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/385853Allow GitLab Runner Helm Chart to specify a per-runner tag list2022-12-20T18:06:49ZClovis DuguéAllow GitLab Runner Helm Chart to specify a per-runner tag list## Description
When deploying GitLab Runner via a Helm chart, tags can (only, at the moment) be specified in the [runners.tags value](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/d8048d7c5f4c02504630ca49c192ec59bb992cd2/val...## Description
When deploying GitLab Runner via a Helm chart, tags can (only, at the moment) be specified in the [runners.tags value](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/blob/d8048d7c5f4c02504630ca49c192ec59bb992cd2/values.yaml#L358)
However, it is possible, [and even suggested](https://docs.gitlab.com/runner/fleet_scaling/#intermediate-configuration-one-runner-multiple-workers) to use configurations with "one runner and multiple workers"
As the distinction between "runner" and "worker" is not really clear, I'll add that I read the above link as "one install of the gitlab-runner product (runner), and multiple runners as registered by the GitLab instance (worker)"
When registering workers one at a time, this is not a problem, as each one of them gets added with its own set of labels
Let's now consider a `values.yaml` file with the following content:
```yaml
gitlabUrl: "gitlab.my-company.com"
runnerRegistrationToken: "my-instance-token"
runners:
name: "gitlab-runners-kubernetes"
tags: "kubernetes"
runUntagged: false
config: |
[[runners]]
name = "my-first-worker"
# Worker-specific memory limits, and other configuration
[runners.kubernetes]
privileged = true
[[runners]]
name = "my-second-worker"
# Worker-specific memory limits, and other configuration
[runners.kubernetes]
privileged = true
```
We encounter the following problems:
- It is impossible to set the `runners.tags` and `runners.runUntagged` values on a per-worker basis. This makes it impossible to register, say 3 workers, with different memory limits and different tags, all available at the instance-level for the projects to pick between
- The `runners.name` (which is really the worker name) and `runnerRegistrationToken` value acts as duplicates of respectively `runners[].name` and `runners[].token` in the `config.toml` inline file. Other duplicates such as these ones [have been deprecated](https://docs.gitlab.com/runner/install/kubernetes.html#additional-configuration), yet these 2 have not, causing undocumented behavior if both are set (what is the order of precedence ?)
## Available workarounds
As far as I know, there are only 2 available workarounds
1. Install multiple releases of the GitLab Runner Helm Chart (as it is the only way to register new workers one at a time using Helm). This is obviously unwanted, the whole idea being to have a single point of management for our different runner configurations
2. Tag the workers after the install. This is doable, though unnecessarily complicated. If we do not add tags and set the workers not to run untagged jobs, they are essentially stale until tagged. However this adds a step to configuration and reduces the overall ease to automatically deploy and manage a runner fleet
## Possible fixes
- Make `runners.tags` and `runners.runUntagged` per-worker. This is not trivial: as per the [Helm values deprecation issue](https://gitlab.com/gitlab-org/charts/gitlab-runner/-/issues/222), the `yaml` part is unaware of how many workers are configured in the inlined `config.toml`
- Essentially going the complete opposite way of the previously-mentionned deprecation, and mapping all the `config.toml` values to new entries in the `values.yaml` file. This solves the problem of the above fix as the `values.yaml` file would now be aware of how many workers are configured ; however this makes configuration via Secret or ConfigMap harder
- Something in-between, such as removing the `runners.name` YAML value, keeping only the one in the `config.toml` inline file, and providing a way to map names with tags in the `values.yaml` file. This is, from an outside perspective, the easiest to implement and most in line conceptually with the deprecation issueAwaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/385244Mirror specific unprotected branches2022-12-09T05:49:08ZMichael LeMirror specific unprotected branches<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Allow specific unprotected branches to be mirrored.
Will need to explore the scenarios where this is valid ...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Allow specific unprotected branches to be mirrored.
Will need to explore the scenarios where this is valid and why using protected branches for mirroring would not be sufficient https://gitlab.com/gitlab-org/gitlab/-/issues/1893.
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/385236Allow GitLab issue labels to point to a specific Slack Channel2023-10-16T14:22:47ZAlexandra PhamAllow GitLab issue labels to point to a specific Slack Channel<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Add functionality to Slack integration allowing GitLab Issues labels to be the main driver of which Slack ch...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Add functionality to Slack integration allowing GitLab Issues labels to be the main driver of which Slack channel that issue will go to.
Why interested? Current Slack integration sent all GitLab issues into a single Slack channel as a "catch all" channel and requires human intervene to manually separate to teams or specific Slack channels. This will help reduce manual sifting and GitLab issues will surface in the correct Slack channels to the relevant teams when the team labels are applied.
**Customers requesting:**
1. https://gitlab.my.salesforce.com/0014M00001ldjLBQAY (internal only)
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/385184Fixed horizontally scrollbar at end of wiki table is inconvenient for large t...2024-03-26T19:39:05ZStephan SchreiberFixed horizontally scrollbar at end of wiki table is inconvenient for large tablesProblem:
In the GitLab wiki I noticed that navigation in large tables is difficult (view mode). The problem is that when the table gets too wide, you have to scroll sideways. But the scrollbar is always at the very end (bottom) of the ta...Problem:
In the GitLab wiki I noticed that navigation in large tables is difficult (view mode). The problem is that when the table gets too wide, you have to scroll sideways. But the scrollbar is always at the very end (bottom) of the table. So you have to scroll all the way down to be able to scroll to the right. This is somehow cumbersome and makes it difficult to get to the table content in the upper right corner. Especially with very large tables. Would it be possible to implement the scrollbar for right/left in a way that it is always visible and usable (even if I am not yet at the end of the table).
Objective:
A horizontal scrollbar that is always displayed.
Example:
| Column-1 | Column-2 | Column-3 | Column-4 | Column-5 | Column-6 | Column-7 | Column-8 | Column-9 | Column-10 | Column-11 | Column-12 | Column-13 | Column-14 | Column-15 | Column-16 | Column-17 | Column-18 | Column-19 | Column-20 |
|----------|----------|----------|----------|----------|----------|----------|----------|----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|
| A2 | B2 | C2 | D2 | E2 | F2 | G2 | H2 | I2 | J2 | K2 | L2 | M2 | N2 | O2 | P2 | Q2 | R2 | S2 | T2 |
| A3 | B3 | C3 | D3 | E3 | F3 | G3 | H3 | I3 | J3 | K3 | L3 | M3 | N3 | O3 | P3 | Q3 | R3 | S3 | T3 |
| A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4 | I4 | J4 | K4 | L4 | M4 | N4 | O4 | P4 | Q4 | R4 | S4 | T4 |
| A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5 | I5 | J5 | K5 | L5 | M5 | N5 | O5 | P5 | Q5 | R5 | S5 | T5 |
| A6 | B6 | C6 | D6 | E6 | F6 | G6 | H6 | I6 | J6 | K6 | L6 | M6 | N6 | O6 | P6 | Q6 | R6 | S6 | T6 |
| A7 | B7 | C7 | D7 | E7 | F7 | G7 | H7 | I7 | J7 | K7 | L7 | M7 | N7 | O7 | P7 | Q7 | R7 | S7 | T7 |
| A8 | B8 | C8 | D8 | E8 | F8 | G8 | H8 | I8 | J8 | K8 | L8 | M8 | N8 | O8 | P8 | Q8 | R8 | S8 | T8 |
| A9 | B9 | C9 | D9 | E9 | F9 | G9 | H9 | I9 | J9 | K9 | L9 | M9 | N9 | O9 | P9 | Q9 | R9 | S9 | T9 |
| A10 | B10 | C10 | D10 | E10 | F10 | G10 | H10 | I10 | J10 | K10 | L10 | M10 | N10 | O10 | P10 | Q10 | R10 | S10 | T10 |
| A11 | B11 | C11 | D11 | E11 | F11 | G11 | H11 | I11 | J11 | K11 | L11 | M11 | N11 | O11 | P11 | Q11 | R11 | S11 | T11 |
| A12 | B12 | C12 | D12 | E12 | F12 | G12 | H12 | I12 | J12 | K12 | L12 | M12 | N12 | O12 | P12 | Q12 | R12 | S12 | T12 |
| A13 | B13 | C13 | D13 | E13 | F13 | G13 | H13 | I13 | J13 | K13 | L13 | M13 | N13 | O13 | P13 | Q13 | R13 | S13 | T13 |
| A14 | B14 | C14 | D14 | E14 | F14 | G14 | H14 | I14 | J14 | K14 | L14 | M14 | N14 | O14 | P14 | Q14 | R14 | S14 | T14 |
| A15 | B15 | C15 | D15 | E15 | F15 | G15 | H15 | I15 | J15 | K15 | L15 | M15 | N15 | O15 | P15 | Q15 | R15 | S15 | T15 |
| A16 | B16 | C16 | D16 | E16 | F16 | G16 | H16 | I16 | J16 | K16 | L16 | M16 | N16 | O16 | P16 | Q16 | R16 | S16 | T16 |
| A17 | B17 | C17 | D17 | E17 | F17 | G17 | H17 | I17 | J17 | K17 | L17 | M17 | N17 | O17 | P17 | Q17 | R17 | S17 | T17 |
| A18 | B18 | C18 | D18 | E18 | F18 | G18 | H18 | I18 | J18 | K18 | L18 | M18 | N18 | O18 | P18 | Q18 | R18 | S18 | T18 |
| A19 | B19 | C19 | D19 | E19 | F19 | G19 | H19 | I19 | J19 | K19 | L19 | M19 | N19 | O19 | P19 | Q19 | R19 | S19 | T19 |
| A20 | B20 | C20 | D20 | E20 | F20 | G20 | H20 | I20 | J20 | K20 | L20 | M20 | N20 | O20 | P20 | Q20 | R20 | S20 | T20 |
| A21 | B21 | C21 | D21 | E21 | F21 | G21 | H21 | I21 | J21 | K21 | L21 | M21 | N21 | O21 | P21 | Q21 | R21 | S21 | T21 |
| A22 | B22 | C22 | D22 | E22 | F22 | G22 | H22 | I22 | J22 | K22 | L22 | M22 | N22 | O22 | P22 | Q22 | R22 | S22 | T22 |
| A23 | B23 | C23 | D23 | E23 | F23 | G23 | H23 | I23 | J23 | K23 | L23 | M23 | N23 | O23 | P23 | Q23 | R23 | S23 | T23 |
| A24 | B24 | C24 | D24 | E24 | F24 | G24 | H24 | I24 | J24 | K24 | L24 | M24 | N24 | O24 | P24 | Q24 | R24 | S24 | T24 |
| A25 | B25 | C25 | D25 | E25 | F25 | G25 | H25 | I25 | J25 | K25 | L25 | M25 | N25 | O25 | P25 | Q25 | R25 | S25 | T25 |
| A26 | B26 | C26 | D26 | E26 | F26 | G26 | H26 | I26 | J26 | K26 | L26 | M26 | N26 | O26 | P26 | Q26 | R26 | S26 | T26 |
| A27 | B27 | C27 | D27 | E27 | F27 | G27 | H27 | I27 | J27 | K27 | L27 | M27 | N27 | O27 | P27 | Q27 | R27 | S27 | T27 |
| A28 | B28 | C28 | D28 | E28 | F28 | G28 | H28 | I28 | J28 | K28 | L28 | M28 | N28 | O28 | P28 | Q28 | R28 | S28 | T28 |
| A29 | B29 | C29 | D29 | E29 | F29 | G29 | H29 | I29 | J29 | K29 | L29 | M29 | N29 | O29 | P29 | Q29 | R29 | S29 | T29 |
| A30 | B30 | C30 | D30 | E30 | F30 | G30 | H30 | I30 | J30 | K30 | L30 | M30 | N30 | O30 | P30 | Q30 | R30 | S30 | T30 |
| A31 | B31 | C31 | D31 | E31 | F31 | G31 | H31 | I31 | J31 | K31 | L31 | M31 | N31 | O31 | P31 | Q31 | R31 | S31 | T31 |
| A32 | B32 | C32 | D32 | E32 | F32 | G32 | H32 | I32 | J32 | K32 | L32 | M32 | N32 | O32 | P32 | Q32 | R32 | S32 | T32 |
| A33 | B33 | C33 | D33 | E33 | F33 | G33 | H33 | I33 | J33 | K33 | L33 | M33 | N33 | O33 | P33 | Q33 | R33 | S33 | T33 |
| A34 | B34 | C34 | D34 | E34 | F34 | G34 | H34 | I34 | J34 | K34 | L34 | M34 | N34 | O34 | P34 | Q34 | R34 | S34 | T34 |
| A35 | B35 | C35 | D35 | E35 | F35 | G35 | H35 | I35 | J35 | K35 | L35 | M35 | N35 | O35 | P35 | Q35 | R35 | S35 | T35 |
| A36 | B36 | C36 | D36 | E36 | F36 | G36 | H36 | I36 | J36 | K36 | L36 | M36 | N36 | O36 | P36 | Q36 | R36 | S36 | T36 |
| A37 | B37 | C37 | D37 | E37 | F37 | G37 | H37 | I37 | J37 | K37 | L37 | M37 | N37 | O37 | P37 | Q37 | R37 | S37 | T37 |
| A38 | B38 | C38 | D38 | E38 | F38 | G38 | H38 | I38 | J38 | K38 | L38 | M38 | N38 | O38 | P38 | Q38 | R38 | S38 | T38 |
| A39 | B39 | C39 | D39 | E39 | F39 | G39 | H39 | I39 | J39 | K39 | L39 | M39 | N39 | O39 | P39 | Q39 | R39 | S39 | T39 |
| A40 | B40 | C40 | D40 | E40 | F40 | G40 | H40 | I40 | J40 | K40 | L40 | M40 | N40 | O40 | P40 | Q40 | R40 | S40 | T40 |
| A41 | B41 | C41 | D41 | E41 | F41 | G41 | H41 | I41 | J41 | K41 | L41 | M41 | N41 | O41 | P41 | Q41 | R41 | S41 | T41 |
| A42 | B42 | C42 | D42 | E42 | F42 | G42 | H42 | I42 | J42 | K42 | L42 | M42 | N42 | O42 | P42 | Q42 | R42 | S42 | T42 |
| A43 | B43 | C43 | D43 | E43 | F43 | G43 | H43 | I43 | J43 | K43 | L43 | M43 | N43 | O43 | P43 | Q43 | R43 | S43 | T43 |
| A44 | B44 | C44 | D44 | E44 | F44 | G44 | H44 | I44 | J44 | K44 | L44 | M44 | N44 | O44 | P44 | Q44 | R44 | S44 | T44 |
| A45 | B45 | C45 | D45 | E45 | F45 | G45 | H45 | I45 | J45 | K45 | L45 | M45 | N45 | O45 | P45 | Q45 | R45 | S45 | T45 |
| A46 | B46 | C46 | D46 | E46 | F46 | G46 | H46 | I46 | J46 | K46 | L46 | M46 | N46 | O46 | P46 | Q46 | R46 | S46 | T46 |
| A47 | B47 | C47 | D47 | E47 | F47 | G47 | H47 | I47 | J47 | K47 | L47 | M47 | N47 | O47 | P47 | Q47 | R47 | S47 | T47 |
| A48 | B48 | C48 | D48 | E48 | F48 | G48 | H48 | I48 | J48 | K48 | L48 | M48 | N48 | O48 | P48 | Q48 | R48 | S48 | T48 |
| A49 | B49 | C49 | D49 | E49 | F49 | G49 | H49 | I49 | J49 | K49 | L49 | M49 | N49 | O49 | P49 | Q49 | R49 | S49 | T49 |
| A50 | B50 | C50 | D50 | E50 | F50 | G50 | H50 | I50 | J50 | K50 | L50 | M50 | N50 | O50 | P50 | Q50 | R50 | S50 | T50 |Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/384304Allow users to specify the target branch when forking a repository2023-08-02T06:19:45ZMichael LeAllow users to specify the target branch when forking a repository<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Allow users to select a target branch to help when a user forks a repository,
Open source projects usually ...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
Allow users to select a target branch to help when a user forks a repository,
Open source projects usually accept merge requests on feature branches rather than the default branch.
Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/24894+
### Mockups
| State | Mockup |
| ------ | ------ |
| Default view | ![image](/uploads/22d5b6b2cc90970e9d55f7f472506245/image.png) |
| Dropdown | ![image](/uploads/7247233dfa1b9fdb696736c4d09f1f57/image.png) |
| Selected branch to fork | ![image](/uploads/5563e321ac4caf77ffb998da40473407/image.png) |
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/384217Coder Integration2024-03-13T09:51:37ZAlexandra PhamCoder Integration<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical detail...<!-- This template is a great use for issues that are feature::additions or technical tasks for larger issues.-->
### Proposal
<!-- Use this section to explain the feature and how it will work. It can be helpful to add technical details, design proposals, and links to related epics or issues. -->
GitLab currently has an integration with [Gitpod](https://docs.gitlab.com/ee/integration/gitpod.html) but Gitpod is no longer onboarding self-hosted plans and are asking customer to hold off until [Gitpod Dedicated](https://www.gitpod.io/dedicated) is ready.
As an alternative, customer turned to [Coder](https://coder.com/docs/coder-oss/latest) instead. This proposal is to have an integration with Coder, similar to the current integration with Gitpod.
**Requesting customers:**
1. https://gitlab.my.salesforce.com/0014M00002BzSV9QAN (internal only)
<!-- Consider adding related issues and epics to this issue. You can also reference the Feature Proposal Template (https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) for additional details to consider adding to this issue. Additionally, as a data oriented organization, when your feature exits planning breakdown, consider adding the `What does success look like, and how can we measure that?` section.
-->
<!-- Label reminders
Use the following resources to find the appropriate labels:
- https://gitlab.com/gitlab-org/gitlab/-/labels
- https://about.gitlab.com/handbook/product/categories/features/
-->Awaiting further demandhttps://gitlab.com/gitlab-org/gitlab/-/issues/383865Open Web IDE in a new tab from all contexts2023-03-06T11:04:50ZEric SchurterOpen Web IDE in a new tab from all contexts## Problem to solve
In most cases, when you want to make a change to a file in the Web IDE, you are navigating a project's repository or reviewing a Merge Request. In https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102512, we intr...## Problem to solve
In most cases, when you want to make a change to a file in the Web IDE, you are navigating a project's repository or reviewing a Merge Request. In https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102512, we introduced the behavior for the `Open in` button to trigger the Web IDE to open in a new tab. This behavior doesn't extend to the use of the keyboard shortcut `.` or for opening the Web IDE in the context of a repository.
## Proposal
For consistency, open the Web IDE in a new tab when using the keyboard shortcut `.`.
Consider applying the same pattern to the repository views.
## Questions
1. Are the use cases different enough when editing from the repository views to warrant opening in the same window?Awaiting further demandDeepika Gulianidguliani@gitlab.comDeepika Gulianidguliani@gitlab.com