Skip to content

feat: widget endpoint support for multi repo filtering #3246

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 14, 2025
5 changes: 3 additions & 2 deletions services/libs/tinybird/pipes/activities_filtered.pipe
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ SQL >
AND a.timestamp
< {{ DateTime(endDate, description="Filter activity timestamp before", required=False) }}
{% end %}
{% if defined(repo) %}
AND a.channel = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND a.channel
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
{% if defined(platform) %}
AND a.platform
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ SQL >
AND a.timestamp
< {{ DateTime(endDate, description="Filter activity timestamp before", required=False) }}
{% end %}
{% if defined(repo) %}
AND a.channel = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND a.channel
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
{% if defined(platform) %}
AND a.platform
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ SQL >
AND a.timestamp
< {{ DateTime(endDate, description="Filter activity timestamp before", required=False) }}
{% end %}
{% if defined(repo) %}
AND a.channel = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND a.channel
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
{% if defined(platform) %}
AND a.platform
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ SQL >
from insightsProjects final
where
1 = 1
{% if defined(repo) %}
AND repo = {{ String(repo, description="Filter project repo", required=False) }}
{% if defined(repos) %}
AND repo
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
{% if defined(search) %}
AND repo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ SQL >
AND a.timestamp
< {{ DateTime(endDate, description="Filter activity timestamp before", required=False) }}
{% end %}
{% if defined(repo) %}
AND a.channel = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND a.channel
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
group by weekday, two_hours_block

Expand Down
7 changes: 3 additions & 4 deletions services/libs/tinybird/pipes/member_roles.pipe
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
TOKEN "member_roles_endpoint_read_1372" READ

NODE member_roles_result
SQL >
%
Expand All @@ -10,7 +8,8 @@ SQL >
{% if defined(project) %}
AND insightsProjectId = (SELECT insightsProjectId FROM segments_filtered)
{% end %}
{% if defined(repo) %}
AND repoUrl = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND repoUrl
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
GROUP BY memberId
33 changes: 24 additions & 9 deletions services/libs/tinybird/pipes/package_metrics.pipe
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ SQL >
{% if defined(name) %}
AND p.name = {{ String(name, description="Filter by package name", required=False) }}
{% end %}
{% if defined(repos) %}
AND p.repo
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}

NODE package_downloads_timeseries_bounds
SQL >
Expand Down Expand Up @@ -120,15 +124,26 @@ SQL >
NODE package_downloads_initial_aggregation
SQL >
%
SELECT
{% if defined(granularity) %} p.date, {% end %}
sum(p.downloadsCount) as downloadsCount,
sum(p.dockerDownloadsCount) as "dockerDownloadsCount",
sum(p.dockerDependentsCount) as "dockerDependentsCount",
sum(p.dependentPackagesCount) as "dependentPackagesCount",
sum(p.dependentReposCount) as "dependentReposCount"
FROM package_downloads_filtered p
group by p.insightsProjectId {% if defined(granularity) %}, p.date {% end %}
{% if defined(granularity) %}
SELECT
p.date,
sum(p.downloadsCount) as downloadsCount,
sum(p.dockerDownloadsCount) as "dockerDownloadsCount",
sum(p.dockerDependentsCount) as "dockerDependentsCount",
sum(p.dependentPackagesCount) as "dependentPackagesCount",
sum(p.dependentReposCount) as "dependentReposCount"
FROM package_downloads_filtered p
group by p.insightsProjectId, p.date
{% else %}
SELECT
max(p.downloadsCount) as downloadsCount,
max(p.dockerDownloadsCount) as "dockerDownloadsCount",
max(p.dockerDependentsCount) as "dockerDependentsCount",
max(p.dependentPackagesCount) as "dependentPackagesCount",
max(p.dependentReposCount) as "dependentReposCount"
FROM package_downloads_filtered p
group by p.insightsProjectId
{% end %}

NODE package_downloads_timeseries_merge
SQL >
Expand Down
6 changes: 5 additions & 1 deletion services/libs/tinybird/pipes/packages.pipe
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SQL >
SELECT distinct p.repo, p.name, p.ecosystem
FROM packageDownloads p
where
insightsProjectId = (select insightsProjectId from segments_filtered)
p.insightsProjectId = (select insightsProjectId from segments_filtered)
{% if defined(search) %}
AND (
p.name
Expand All @@ -17,3 +17,7 @@ SQL >
|| '%'
)
{% end %}
{% if defined(repos) %}
AND p.repo
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
5 changes: 3 additions & 2 deletions services/libs/tinybird/pipes/pull_requests_filtered.pipe
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ SQL >
FROM pull_requests_analyzed pra
where
pra.segmentId = (SELECT segmentId FROM segments_filtered)
{% if defined(repo) %}
AND pra.channel = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND pra.channel
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ SQL >
= {{ String(project, description="Filter by project slug", required=True) }}
{% else %} AND false
{% end %}
{% if defined(repo) %}
AND s.repo = {{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND s.repo
IN {{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
{% end %}
8 changes: 4 additions & 4 deletions services/libs/tinybird/pipes/segments_filtered.pipe
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ SQL >
AND slug = {{ String(project, description="Filter by project slug", required=True) }}
{% else %} AND false
{% end %}
{% if defined(repo) %}
AND has(
insightsProjects.repositories,
{{ String(repo, description="Filter activity repo", required=False) }}
{% if defined(repos) %}
AND arrayAll(
r -> has(insightsProjects.repositories, r),
{{ Array(repos, 'String', description="Filter activity repo list", required=False) }}
)
{% end %}
Loading