Skip to content
Snippets Groups Projects
Commit 0434f38e authored by GitLab Bot's avatar GitLab Bot
Browse files

Add latest changes from gitlab-org/gitlab@master

parent c27acb1d
No related branches found
No related tags found
No related merge requests found
Showing
with 118 additions and 82 deletions
---
title: Migrate CI CD statistics + duration chart to VueJS
merge_request: 23840
author:
type: changed
---
title: Ensure New Snippet button is displayed based on the :create_snippet permission
in Project Snippets page and User profile > Snippets tab
merge_request: 55240
author:
type: fixed
---
title: Task lists work correctly again on closed MRs
merge_request: 23714
author:
type: fixed
---
title: Separate commit entities into own class files
merge_request: 24085
author: Rajendra Kadam
type: added
---
title: Fix database permission check for triggers on Amazon RDS
merge_request: 24035
author:
type: fixed
Loading
Loading
@@ -50,8 +50,4 @@ Rails.application.configure do
 
# BetterErrors live shell (REPL) on every stack frame
BetterErrors::Middleware.allow_ip!("127.0.0.1/0")
# Use an evented file watcher to asynchronously detect changes in source code,
# routes, locales, etc. This feature depends on the listen gem.
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
end
Loading
Loading
@@ -59,12 +59,12 @@ are recommended to get your merge request approved and merged by maintainer(s)
from teams other than your own.
 
1. If your merge request includes backend changes [^1], it must be
**approved by a [backend maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab-ce_maintainers_backend)**.
**approved by a [backend maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_backend)**.
1. If your merge request includes database migrations or changes to expensive queries [^2], it must be
**approved by a [database maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab-ce_maintainers_database)**.
**approved by a [database maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_database)**.
Read the [database review guidelines](database_review.md) for more details.
1. If your merge request includes frontend changes [^1], it must be
**approved by a [frontend maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab-ce_maintainers_frontend)**.
**approved by a [frontend maintainer](https://about.gitlab.com/handbook/engineering/projects/#gitlab_maintainers_frontend)**.
1. If your merge request includes UX changes [^1], it must be
**approved by a [UX team member](https://about.gitlab.com/company/team/)**.
1. If your merge request includes adding a new JavaScript library [^1], it must be
Loading
Loading
Loading
Loading
@@ -645,9 +645,8 @@ To indicate the steps of navigation through the UI:
- Images should have a specific, non-generic name that will
differentiate and describe them properly.
- Always add to the end of the file name the GitLab release version
number corresponding to the release milestone the image was added to,
or corresponding to the release the screenshot was taken from, using the
format `image_name_vX_Y.png`.
corresponding to the version the screenshot was taken from, using the format
`image_name_vX_Y.png`.
([Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/61027) in GitLab 12.1.)
- For example, for a screenshot taken from the pipelines page of
GitLab 11.1, a valid name is `pipelines_v11_1.png`. If you're
Loading
Loading
Loading
Loading
@@ -98,30 +98,6 @@ members can join swiftly without requesting a link.
 
Read more how to [add or remove a zoom meeting](../project/issues/associate_zoom_meeting.md).
 
### Alerting
You can let GitLab know of alerts that may be triggering in your applications and services. GitLab can react to these by automatically creating Issues, and alerting developers via Email.
#### Prometheus Alerts
Prometheus alerts can be setup in both GitLab-managed Prometheus installs and self-managed Prometheus installs.
Documentation for each method can be found here:
- [GitLab-managed Prometheus](../project/integrations/prometheus.md#setting-up-alerts-for-prometheus-metrics-ultimate)
- [Self-managed Prometheus](../project/integrations/prometheus.md#external-prometheus-instances)
#### Alert Endpoint
GitLab can accept alerts from any source via a generic webhook receiver. When you set up the generic alerts integration, a unique endpoint will
be created which can receive a payload in JSON format.
More information on setting this up, including how to customize the payload [can be found here](../project/integrations/generic_alerts.md).
#### Recovery Alerts
Coming soon: GitLab can automatically close Issues that have been automatically created when we receive notification that the alert is resolved.
### Configuring Incidents
 
Incident Management features can be easily enabled & disabled via the Project settings page. Head to Project -> Settings -> Operations -> Incidents.
Loading
Loading
doc/user/project/img/labels_delete_v12_1.png

9.31 KiB

doc/user/project/img/labels_list_v12_1.png

102 KiB

doc/user/project/img/labels_new_label_from_sidebar.gif

741 KiB

doc/user/project/integrations/img/prometheus_dashboard_column_panel_type.png

12.9 KiB

doc/user/project/integrations/img/prometheus_service_configuration.png

17.7 KiB | W: 900px | H: 262px

doc/user/project/integrations/img/prometheus_service_configuration.png

4.9 KiB | W: 954px | H: 242px

doc/user/project/integrations/img/prometheus_service_configuration.png
doc/user/project/integrations/img/prometheus_service_configuration.png
doc/user/project/integrations/img/prometheus_service_configuration.png
doc/user/project/integrations/img/prometheus_service_configuration.png
  • 2-up
  • Swipe
  • Onion skin
Loading
Loading
@@ -96,9 +96,8 @@ to integrate with.
 
1. Navigate to the [Integrations page](project_services.md#accessing-the-project-services)
1. Click the **Prometheus** service
1. Provide the base URL of the your server, for example `http://prometheus.example.com/`.
The **Test Settings** button can be used to confirm connectivity from GitLab
to the Prometheus server.
1. Provide the base URL of your server, for example `http://prometheus.example.com/`
1. Click **Save changes**
 
![Configure Prometheus Service](img/prometheus_service_configuration.png)
 
Loading
Loading
@@ -330,6 +329,33 @@ Note the following properties:
 
![anomaly panel type](img/prometheus_dashboard_anomaly_panel_type.png)
 
#### Column
To add a column panel type to a dashboard, look at the following sample dashboard file:
```yaml
dashboard: 'Dashboard Title'
panel_groups:
- group: 'Group title'
panels:
- title: "Column"
type: "column"
metrics:
- id: 1024_memory
query: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
unit: MB
label: "Memory Usage"
```
Note the following properties:
| Property | Type | Required | Description |
| ------ | ------ | ------ | ------ |
| type | string | yes | Type of panel to be rendered. For column panel types, set to `column` |
| query_range | yes | yes | For column panel types, you must use a [range query](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) |
![anomaly panel type](img/prometheus_dashboard_column_panel_type.png)
##### Single Stat
 
To add a single stat panel type to a dashboard, look at the following sample dashboard file:
Loading
Loading
Loading
Loading
@@ -128,51 +128,6 @@ module API
end
end
 
class DiffRefs < Grape::Entity
expose :base_sha, :head_sha, :start_sha
end
class Commit < Grape::Entity
expose :id, :short_id, :created_at
expose :parent_ids
expose :full_title, as: :title
expose :safe_message, as: :message
expose :author_name, :author_email, :authored_date
expose :committer_name, :committer_email, :committed_date
end
class CommitStats < Grape::Entity
expose :additions, :deletions, :total
end
class CommitWithStats < Commit
expose :stats, using: Entities::CommitStats
end
class CommitDetail < Commit
expose :stats, using: Entities::CommitStats, if: :stats
expose :status
expose :project_id
expose :last_pipeline do |commit, options|
pipeline = commit.last_pipeline if can_read_pipeline?
::API::Entities::PipelineBasic.represent(pipeline, options)
end
private
def can_read_pipeline?
Ability.allowed?(options[:current_user], :read_pipeline, object.last_pipeline)
end
end
class CommitSignature < Grape::Entity
expose :gpg_key_id
expose :gpg_key_primary_keyid, :gpg_key_user_name, :gpg_key_user_email
expose :verification_status
expose :gpg_key_subkey_id
end
class BasicRef < Grape::Entity
expose :type, :name
end
Loading
Loading
@@ -1101,6 +1056,7 @@ module API
expose :evidence_file_path, expose_nil: false, if: ->(_, _) { can_download_code? }
end
expose :_links do
expose :self_url, as: :self, expose_nil: false
expose :merge_requests_url, expose_nil: false
expose :issues_url, expose_nil: false
expose :edit_url, expose_nil: false
Loading
Loading
# frozen_string_literal: true
module API
module Entities
class Commit < Grape::Entity
expose :id, :short_id, :created_at
expose :parent_ids
expose :full_title, as: :title
expose :safe_message, as: :message
expose :author_name, :author_email, :authored_date
expose :committer_name, :committer_email, :committed_date
end
end
end
# frozen_string_literal: true
module API
module Entities
class CommitDetail < Commit
expose :stats, using: Entities::CommitStats, if: :stats
expose :status
expose :project_id
expose :last_pipeline do |commit, options|
pipeline = commit.last_pipeline if can_read_pipeline?
::API::Entities::PipelineBasic.represent(pipeline, options)
end
private
def can_read_pipeline?
Ability.allowed?(options[:current_user], :read_pipeline, object.last_pipeline)
end
end
end
end
# frozen_string_literal: true
module API
module Entities
class CommitSignature < Grape::Entity
expose :gpg_key_id
expose :gpg_key_primary_keyid, :gpg_key_user_name, :gpg_key_user_email
expose :verification_status
expose :gpg_key_subkey_id
end
end
end
# frozen_string_literal: true
module API
module Entities
class CommitStats < Grape::Entity
expose :additions, :deletions, :total
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment