Commit d7ccc1d4 authored by Shinya Maeda's avatar Shinya Maeda

Merge branch '208920-jira-import-usage-data' into 'master'

Add jira imports to usage data

See merge request gitlab-org/gitlab!29925
parents 1f154cd9 201c1167
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
class JiraImportState < ApplicationRecord class JiraImportState < ApplicationRecord
include AfterCommitQueue include AfterCommitQueue
include ImportState::SidekiqJobTracker include ImportState::SidekiqJobTracker
include UsageStatistics
self.table_name = 'jira_imports' self.table_name = 'jira_imports'
...@@ -97,4 +98,8 @@ class JiraImportState < ApplicationRecord ...@@ -97,4 +98,8 @@ class JiraImportState < ApplicationRecord
} }
) )
end end
def self.finished_imports_count
finished.sum(:imported_issues_count)
end
end end
---
title: Add jira imports to usage data
merge_request: 29925
author:
type: added
...@@ -286,7 +286,7 @@ module Gitlab ...@@ -286,7 +286,7 @@ module Gitlab
results[:projects_slack_notifications_active] = results[:projects_slack_active] results[:projects_slack_notifications_active] = results[:projects_slack_active]
results[:projects_slack_slash_active] = results[:projects_slack_slash_commands_active] results[:projects_slack_slash_active] = results[:projects_slack_slash_commands_active]
results.merge(jira_usage) results.merge(jira_usage).merge(jira_import_usage)
end end
def jira_usage def jira_usage
...@@ -320,6 +320,16 @@ module Gitlab ...@@ -320,6 +320,16 @@ module Gitlab
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
def jira_import_usage
finished_jira_imports = JiraImportState.finished
{
jira_imports_total_imported_count: count(finished_jira_imports),
jira_imports_projects_count: distinct_count(finished_jira_imports, :project_id),
jira_imports_total_imported_issues_count: alt_usage_data { JiraImportState.finished_imports_count }
}
end
def user_preferences_usage def user_preferences_usage
{} # augmented in EE {} # augmented in EE
end end
......
...@@ -12,6 +12,11 @@ FactoryBot.define do ...@@ -12,6 +12,11 @@ FactoryBot.define do
create(:jira_service, :jira_cloud_service, project: projects[2]) create(:jira_service, :jira_cloud_service, project: projects[2])
create(:jira_service, :without_properties_callback, project: projects[3], create(:jira_service, :without_properties_callback, project: projects[3],
properties: { url: 'https://mysite.atlassian.net' }) properties: { url: 'https://mysite.atlassian.net' })
jira_label = create(:label, project: projects[0])
create(:jira_import_state, :finished, project: projects[0], label: jira_label, failed_to_import_count: 2, imported_issues_count: 7, total_issue_count: 9)
create(:jira_import_state, :finished, project: projects[1], label: jira_label, imported_issues_count: 3, total_issue_count: 3)
create(:jira_import_state, :finished, project: projects[1], label: jira_label, imported_issues_count: 3)
create(:jira_import_state, :scheduled, project: projects[1], label: jira_label)
create(:prometheus_service, project: projects[1]) create(:prometheus_service, project: projects[1])
create(:service, project: projects[0], type: 'SlackSlashCommandsService', active: true) create(:service, project: projects[0], type: 'SlackSlashCommandsService', active: true)
create(:service, project: projects[1], type: 'SlackService', active: true) create(:service, project: projects[1], type: 'SlackService', active: true)
......
...@@ -44,6 +44,9 @@ describe Gitlab::UsageData, :aggregate_failures do ...@@ -44,6 +44,9 @@ describe Gitlab::UsageData, :aggregate_failures do
expect(count_data[:projects_jira_active]).to eq(4) expect(count_data[:projects_jira_active]).to eq(4)
expect(count_data[:projects_jira_server_active]).to eq(2) expect(count_data[:projects_jira_server_active]).to eq(2)
expect(count_data[:projects_jira_cloud_active]).to eq(2) expect(count_data[:projects_jira_cloud_active]).to eq(2)
expect(count_data[:jira_imports_projects_count]).to eq(2)
expect(count_data[:jira_imports_total_imported_count]).to eq(3)
expect(count_data[:jira_imports_total_imported_issues_count]).to eq(13)
expect(count_data[:projects_slack_notifications_active]).to eq(2) expect(count_data[:projects_slack_notifications_active]).to eq(2)
expect(count_data[:projects_slack_slash_active]).to eq(1) expect(count_data[:projects_slack_slash_active]).to eq(1)
expect(count_data[:projects_slack_active]).to eq(2) expect(count_data[:projects_slack_active]).to eq(2)
......
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