Skip to content

Commit bc8920d

Browse files
authored
feat: add maintainers and reviewers count to active contributors (#3655)
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
1 parent a40bef3 commit bc8920d

1 file changed

Lines changed: 54 additions & 2 deletions

File tree

services/libs/tinybird/pipes/active_contributors.pipe

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,63 @@ SQL >
5151
{% else %} select 1
5252
{% end %}
5353

54+
NODE maintainers_count
55+
SQL >
56+
%
57+
SELECT uniq(memberId) AS maintainerCount
58+
FROM maintainers_roles_copy_ds
59+
WHERE
60+
insightsProjectId = (SELECT insightsProjectId FROM segments_filtered)
61+
{% if defined(repos) %}
62+
AND repoUrl
63+
IN {{ Array(repos, 'String', description="Filter maintainer repo list", required=False) }}
64+
{% end %}
65+
AND (
66+
startDate = toDateTime64('1970-01-01 00:00:00', 3)
67+
OR startDate
68+
<= {% if defined(endDate) %}
69+
{{ DateTime(endDate, description="Filter maintainer end date", required=False) }}
70+
{% else %} now()
71+
{% end %}
72+
)
73+
AND (
74+
endDate = toDateTime64('1970-01-01 00:00:00', 3)
75+
OR endDate
76+
>= {% if defined(startDate) %}
77+
{{ DateTime(startDate, description="Filter maintainer start date", required=False) }}
78+
{% else %} toDateTime64('1970-01-01 00:00:00', 3)
79+
{% end %}
80+
)
81+
82+
NODE reviewers_count
83+
SQL >
84+
%
85+
SELECT uniq(case when memberId != '' then memberId else null end) AS reviewerCount
86+
FROM activities_filtered
87+
WHERE
88+
type IN (
89+
-- GitHub review activities
90+
'pull_request-reviewed',
91+
-- GitLab review activities
92+
'merge_request-review-approved',
93+
'merge_request-review-changes-requested',
94+
-- Gerrit review activities
95+
'changeset_comment-created'
96+
)
97+
5498
NODE active_contributors_merged
5599
SQL >
56100
%
57101
{% if not defined(granularity) %}
58-
SELECT uniq(case when memberId != '' then memberId else null end) AS contributorCount
102+
SELECT
103+
uniq(case when memberId != '' then memberId else null end) AS contributorCount,
104+
(SELECT maintainerCount FROM maintainers_count) AS maintainerCount,
105+
(SELECT reviewerCount FROM reviewers_count) AS reviewerCount
59106
FROM activities_filtered
60-
{% else %} select * from timeseries_generation_for_active_contributors
107+
{% else %}
108+
select
109+
*,
110+
(SELECT maintainerCount FROM maintainers_count) AS maintainerCount,
111+
(SELECT reviewerCount FROM reviewers_count) AS reviewerCount
112+
from timeseries_generation_for_active_contributors
61113
{% end %}

0 commit comments

Comments
 (0)