BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
e5b9bcff
Commit
e5b9bcff
authored
Jul 24, 2017
by
Sean McGivern
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '31533-usage-data-projects-stats' into 'master'
Add Slack and JIRA services counts to Usage Data Closes #31533 See merge request !12974
parents
6d13bc58
124ef7dd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
6 deletions
+42
-6
31533-usage-data-projects-stats.yml
changelogs/unreleased/31533-usage-data-projects-stats.yml
+4
-0
usage_data.rb
lib/gitlab/usage_data.rb
+13
-2
usage_data_spec.rb
spec/lib/gitlab/usage_data_spec.rb
+25
-4
No files found.
changelogs/unreleased/31533-usage-data-projects-stats.yml
0 → 100644
View file @
e5b9bcff
---
title
:
Add Slack and JIRA services counts to Usage Data
merge_request
:
author
:
lib/gitlab/usage_data.rb
View file @
e5b9bcff
...
...
@@ -40,14 +40,13 @@ module Gitlab
pages_domains:
PagesDomain
.
count
,
projects:
Project
.
count
,
projects_imported_from_github:
Project
.
where
(
import_type:
'github'
).
count
,
projects_prometheus_active:
PrometheusService
.
active
.
count
,
protected_branches:
ProtectedBranch
.
count
,
releases:
Release
.
count
,
snippets:
Snippet
.
count
,
todos:
Todo
.
count
,
uploads:
Upload
.
count
,
web_hooks:
WebHook
.
count
}
}
.
merge
(
services_usage
)
}
end
...
...
@@ -64,6 +63,18 @@ module Gitlab
usage_data
end
def
services_usage
types
=
{
JiraService
:
:projects_jira_active
,
SlackService
:
:projects_slack_notifications_active
,
SlackSlashCommandsService
:
:projects_slack_slash_active
,
PrometheusService
:
:projects_prometheus_active
}
results
=
Service
.
unscoped
.
where
(
type:
types
.
keys
,
active:
true
).
group
(
:type
).
count
results
.
each_with_object
({})
{
|
(
key
,
value
),
response
|
response
[
types
[
key
.
to_sym
]]
=
value
}
end
end
end
end
spec/lib/gitlab/usage_data_spec.rb
View file @
e5b9bcff
require
'spec_helper'
describe
Gitlab
::
UsageData
do
let!
(
:project
)
{
create
(
:empty_project
)
}
let!
(
:project2
)
{
create
(
:empty_project
)
}
let!
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:projects
)
{
create_list
(
:project
,
3
)
}
let!
(
:board
)
{
create
(
:board
,
project:
projects
[
0
])
}
describe
'#data'
do
before
do
create
(
:jira_service
,
project:
projects
[
0
])
create
(
:jira_service
,
project:
projects
[
1
])
create
(
:prometheus_service
,
project:
projects
[
1
])
create
(
:service
,
project:
projects
[
0
],
type:
'SlackSlashCommandsService'
,
active:
true
)
create
(
:service
,
project:
projects
[
1
],
type:
'SlackService'
,
active:
true
)
create
(
:service
,
project:
projects
[
2
],
type:
'SlackService'
,
active:
true
)
end
subject
{
described_class
.
data
}
it
"gathers usage data"
do
...
...
@@ -25,7 +33,7 @@ describe Gitlab::UsageData do
count_data
=
subject
[
:counts
]
expect
(
count_data
[
:boards
]).
to
eq
(
1
)
expect
(
count_data
[
:projects
]).
to
eq
(
2
)
expect
(
count_data
[
:projects
]).
to
eq
(
3
)
expect
(
count_data
.
keys
).
to
match_array
(
%i(
boards
...
...
@@ -49,6 +57,9 @@ describe Gitlab::UsageData do
notes
projects
projects_imported_from_github
projects_jira_active
projects_slack_notifications_active
projects_slack_slash_active
projects_prometheus_active
pages_domains
protected_branches
...
...
@@ -59,6 +70,16 @@ describe Gitlab::UsageData do
web_hooks
)
)
end
it
'gathers projects data correctly'
do
count_data
=
subject
[
:counts
]
expect
(
count_data
[
:projects
]).
to
eq
(
3
)
expect
(
count_data
[
:projects_prometheus_active
]).
to
eq
(
1
)
expect
(
count_data
[
:projects_jira_active
]).
to
eq
(
2
)
expect
(
count_data
[
:projects_slack_notifications_active
]).
to
eq
(
2
)
expect
(
count_data
[
:projects_slack_slash_active
]).
to
eq
(
1
)
end
end
describe
'#license_usage_data'
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment