Commit 509a93d0 authored by Dan Jensen's avatar Dan Jensen Committed by Mike Jang

Make Issue Analytics singular

Originally we called the feature Issues Analytics. The plural form
felt a bit awkward. We recently introduced Merge Request Analytics,
where the singular form felt more natural and also conflicted with
Issues Analytics. So this re-names Issues Analytics (plural) as
Issue Analytics (singular).
parent bd6e5f16
......@@ -871,7 +871,7 @@ $popover-max-width: 384px;
$popover-box-shadow: 0 2px 3px 1px $gray-100;
/*
Issues Analytics
Issue Analytics
*/
$issues-analytics-popover-boarder-color: rgba(0, 0, 0, 0.15);
......
......@@ -156,7 +156,7 @@ The following documentation relates to the DevOps **Create** stage:
| [File locking](user/project/file_lock.md) **(PREMIUM)** | Lock files to avoid merge conflicts. |
| [GitLab Pages](user/project/pages/index.md) | Build, test, and deploy your static website with GitLab Pages. |
| [Groups](user/group/index.md) and [Subgroups](user/group/subgroups/index.md) | Organize your projects in groups. |
| [Issues Analytics](user/group/issues_analytics/index.md) **(PREMIUM)** | Check how many issues were created per month. |
| [Issue Analytics](user/group/issues_analytics/index.md) **(PREMIUM)** | Check how many issues were created per month. |
| [Merge Request Analytics](user/analytics/merge_request_analytics.md) **(PREMIUM)** | Check your throughput productivity - how many merge requests were merged per month. |
| [Projects](user/project/index.md), including [project access](public_access/public_access.md)<br/>and [settings](user/project/settings/index.md) | Host source code, and control your project's visibility and set configuration. |
| [Search through GitLab](user/search/index.md) | Search for issues, merge requests, projects, groups, and todos. |
......
......@@ -24,7 +24,7 @@ The following analytics features are available at the group level:
- [Contribution](../group/contribution_analytics/index.md). **(STARTER)**
- [Insights](../group/insights/index.md). **(ULTIMATE)**
- [Issues](../group/issues_analytics/index.md). **(PREMIUM)**
- [Issue](../group/issues_analytics/index.md). **(PREMIUM)**
- [Productivity](productivity_analytics.md), enabled with the `productivity_analytics`
[feature flag](../../development/feature_flags/development.md#enabling-a-feature-flag-locally-in-development). **(PREMIUM)**
- [Value Stream](value_stream_analytics.md), enabled with the `cycle_analytics`
......@@ -37,7 +37,7 @@ The following analytics features are available at the project level:
- [CI/CD](../../ci/pipelines/index.md#pipeline-success-and-duration-charts). **(STARTER)**
- [Code Review](code_review_analytics.md). **(STARTER)**
- [Insights](../group/insights/index.md). **(ULTIMATE)**
- [Issues](../group/issues_analytics/index.md). **(PREMIUM)**
- [Issue](../group/issues_analytics/index.md). **(PREMIUM)**
- [Merge Request](merge_request_analytics.md). **(STARTER)**
- [Repository](repository_analytics.md).
- [Value Stream](value_stream_analytics.md), enabled with the `cycle_analytics`
......
......@@ -743,9 +743,9 @@ With [GitLab Contribution Analytics](contribution_analytics/index.md),
you have an overview of the contributions (pushes, merge requests,
and issues) performed by your group members.
## Issues analytics **(PREMIUM)**
## Issue analytics **(PREMIUM)**
With [GitLab Issues Analytics](issues_analytics/index.md), you can see a bar chart of the number of issues created each month in your groups.
With [GitLab Issue Analytics](issues_analytics/index.md), you can see a bar chart of the number of issues created each month in your groups.
## Dependency Proxy **(PREMIUM)**
......
......@@ -5,16 +5,16 @@ group: Analytics
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Issues Analytics **(PREMIUM)**
# Issue Analytics **(PREMIUM)**
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/7478) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.5.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196561) in [GitLab Premium](https://about.gitlab.com/pricing/) 12.9 at the project level.
Issues Analytics is a bar graph which illustrates the number of issues created each month.
Issue Analytics is a bar graph which illustrates the number of issues created each month.
The default timespan is 13 months, which includes the current month, and the 12 months
prior.
To access the chart, navigate to your group or project sidebar and select **{chart}** **Analytics > Issues Analytics**.
To access the chart, navigate to your group or project sidebar and select **{chart}** **Analytics > Issue Analytics**.
Hover over each bar to see the total number of issues.
......
......@@ -167,7 +167,7 @@ The following table depicts the various user permission levels in a project.
| View CI\CD analytics | | ✓ | ✓ | ✓ | ✓ |
| View Code Review analytics **(STARTER)** | | ✓ | ✓ | ✓ | ✓ |
| View Insights **(ULTIMATE)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Issues analytics **(PREMIUM)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Issue analytics **(PREMIUM)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Merge Request analytics **(STARTER)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Repository analytics | | ✓ | ✓ | ✓ | ✓ |
| View Value Stream analytics | ✓ | ✓ | ✓ | ✓ | ✓ |
......@@ -272,7 +272,7 @@ group.
| Disable notification emails | | | | | ✓ |
| View Contribution analytics | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Insights **(ULTIMATE)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Issues analytics **(PREMIUM)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Issue analytics **(PREMIUM)** | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Productivity analytics **(PREMIUM)** | | ✓ | ✓ | ✓ | ✓ |
| View Value Stream analytics | ✓ | ✓ | ✓ | ✓ | ✓ |
| View Billing **(FREE ONLY)** | | | | | ✓ (4) |
......
......@@ -29,7 +29,7 @@ export default class FilteredSearchIssueAnalytics extends FilteredSearchManager
}
/**
* Updates issues analytics store and window history
* Updates issue analytics store and window history
* with filter path
*/
updateObject = path => {
......
/**
* This util method takes the global page filters and transforms parameters which
* are not standardized between the internal issues analytics api and the public
* are not standardized between the internal issue analytics api and the public
* issues api.
*
* @param {Object} filters the global filters used to fetch issues data
......
......@@ -34,7 +34,7 @@ module EE
return unless project_nav_tab?(:issues_analytics)
navbar_sub_item(
title: _('Issues'),
title: _('Issue'),
path: 'issues_analytics#show',
link: project_analytics_issues_analytics_path(project)
)
......@@ -108,7 +108,7 @@ module EE
return unless group_sidebar_link?(:analytics)
navbar_sub_item(
title: _('Issues'),
title: _('Issue'),
path: 'issues_analytics#show',
link: group_issues_analytics_path(group)
)
......
- page_title _('Issues Analytics')
- page_title _('Issue Analytics')
.mb-3
%h3
= _('Issues Analytics')
= _('Issue Analytics')
= render 'shared/issuable/search_bar', type: :issues_analytics, show_sorting_dropdown: false, placeholder: _('Filter results...')
#js-issues-analytics{ data: { endpoint: group_issues_analytics_path(@group), no_data_empty_state_svg_path: image_path('illustrations/monitoring/getting_started.svg'), filters_empty_state_svg_path: image_path('illustrations/issues.svg'), issues_api_endpoint: expose_url(api_v4_groups_issues_path(id: @group.id)), issues_page_endpoint: issues_group_path(@group) } }
- page_title _('Issues Analytics')
- page_title _('Issue Analytics')
.mb-3
%h3
= _('Issues Analytics')
= _('Issue Analytics')
= render 'shared/issuable/search_bar', type: :issues_analytics, show_sorting_dropdown: false, placeholder: _('Filter results...')
#js-issues-analytics{ data: { endpoint: project_analytics_issues_analytics_path(@project), no_data_empty_state_svg_path: image_path('illustrations/monitoring/getting_started.svg'), filters_empty_state_svg_path: image_path('illustrations/issues.svg'), issues_api_endpoint: expose_url(api_v4_projects_issues_path(id: @project.id)), issues_page_endpoint: project_issues_path(@project) } }
---
title: Re-name Issues Analytics (plural) as Issue Analytics (singular)
merge_request: 39506
author:
type: changed
......@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Groups::IssuesAnalyticsController do
it_behaves_like 'issues analytics controller' do
it_behaves_like 'issue analytics controller' do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:project1) { create(:project, :empty_repo, namespace: group) }
......
......@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe Projects::Analytics::IssuesAnalyticsController do
it_behaves_like 'issues analytics controller' do
it_behaves_like 'issue analytics controller' do
let_it_be(:user) { create(:user) }
let_it_be(:group) { create(:group) }
let_it_be(:project1) { create(:project, :empty_repo, namespace: group) }
......
......@@ -36,7 +36,7 @@ RSpec.describe 'Group active tab' do
end
it_behaves_like 'page has active tab', _('Analytics')
it_behaves_like 'page has active sub tab', _('Issues')
it_behaves_like 'page has active sub tab', _('Issue')
end
context 'on group Contribution Analytics' do
......
......@@ -19,14 +19,14 @@ RSpec.describe 'Project navbar' do
sign_in(user)
end
context 'when issues analytics is available' do
context 'when issue analytics is available' do
before do
stub_licensed_features(issues_analytics: true)
insert_after_sub_nav_item(
_('Code Review'),
within: _('Analytics'),
new_sub_nav_item_name: _('Issues')
new_sub_nav_item_name: _('Issue')
)
visit project_path(project)
......
......@@ -18,7 +18,7 @@ jest.mock('ee/issues_analytics/filtered_search_issues_analytics', () =>
const localVue = createLocalVue();
localVue.use(Vuex);
describe('Issues Analytics component', () => {
describe('Issue Analytics component', () => {
let wrapper;
let store;
let mountComponent;
......
......@@ -2,7 +2,7 @@ import createState from 'ee/issues_analytics/stores/modules/issue_analytics/stat
import mutations from 'ee/issues_analytics/stores/modules/issue_analytics/mutations';
import * as types from 'ee/issues_analytics/stores/modules/issue_analytics/mutation_types';
describe('Issues Analytics mutations', () => {
describe('Issue Analytics mutations', () => {
let state;
beforeEach(() => {
......
......@@ -7,7 +7,7 @@ const originalFilters = {
};
const tranformedFilters = { labels: ['one', 'two'], milestone: 'title', author_username: 'root' };
describe('issues analytics utils', () => {
describe('issue analytics utils', () => {
describe('transformFilters', () => {
it('transforms the object keys as expected', () => {
const filters = transformFilters(originalFilters);
......
# frozen_string_literal: true
RSpec.shared_examples 'issues analytics controller' do
RSpec.shared_examples 'issue analytics controller' do
describe 'GET #show' do
subject { get :show, params: params }
context 'when issues analytics is not available for license' do
context 'when issue analytics is not available for license' do
it 'renders 404' do
subject
......@@ -26,7 +26,7 @@ RSpec.shared_examples 'issues analytics controller' do
end
end
context 'when issues analytics is available for license' do
context 'when issue analytics is available for license' do
before do
stub_licensed_features(issues_analytics: true)
end
......
......@@ -13381,6 +13381,9 @@ msgstr ""
msgid "Issue %{issue_reference} has already been added to epic %{epic_reference}."
msgstr ""
msgid "Issue Analytics"
msgstr ""
msgid "Issue Boards"
msgstr ""
......@@ -13480,9 +13483,6 @@ msgstr ""
msgid "Issues"
msgstr ""
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment