diff --git a/apps/tools-public/toolpad/pages/baseUiNpmKpis/page.yml b/apps/tools-public/toolpad/pages/baseUiNpmKpis/page.yml index d9e922456..59ff54d84 100644 --- a/apps/tools-public/toolpad/pages/baseUiNpmKpis/page.yml +++ b/apps/tools-public/toolpad/pages/baseUiNpmKpis/page.yml @@ -4,115 +4,17 @@ apiVersion: v1 kind: page spec: title: Base UI npm KPIs - display: shell + alias: + - U0CsCz5 + displayName: Base UI npm KPIs content: - component: Text - name: npmChartTitle - layout: - columnSize: 1 - props: - variant: h6 - value: Headless libraries npm downloads - - component: Chart - name: npmChart + name: text layout: columnSize: 1 props: - data: - - kind: line - label: '@mui/base' - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: '@mui/base' - color: '#1976d2' - - kind: line - label: '@reach/utils' - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: '@reach/utils' - color: '#b33dc6' - - kind: line - label: '@radix-ui/react-primitive' - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: '@radix-ui/react-primitive' - color: '#ea5545' - - kind: line - label: '@react-aria/utils' - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: '@react-aria/utils' - color: '#ef9b20' - - kind: line - label: reakit - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: reakit - color: '#000' - - kind: line - label: '@headlessui/react' - data: - $$jsExpression: | - queryHeadlessLibrariesDownloads.data - xKey: date - yKey: '@headlessui/react' - color: '#388e3c' - height: 300 - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: > - queryHeadlessLibrariesDownloads.data.map((entry) => { - let headlessLibrariesDownloads = 0 - Object.keys(entry).forEach((key) => { - if (key !== "date" && key !== "@mui/base") { - headlessLibrariesDownloads += entry[key] - } - }) - return { - ...entry, - date: entry.date.slice(0, -3), - id: entry.date, - ratio: `${((entry["@mui/base"] / headlessLibrariesDownloads) * 100).toFixed( - 2 - )}%`, - } - }) - columns: - - field: date - type: string - - field: '@mui/base' - type: number - - field: '@reach/utils' - type: number - - field: '@radix-ui/react-primitive' - type: number - - field: '@react-aria/utils' - type: number - - field: reakit - type: number - - field: '@headlessui/react' - type: number - - field: ratio - type: string - queries: - - name: queryHeadlessLibrariesDownloads - query: - function: queryHeadlessLibrariesDownloads.ts#queryHeadlessLibrariesDownloads - kind: local - alias: - - U0CsCz5 - displayName: Base UI npm KPIs + mode: markdown + value: + "This page has moved to the code-infra-dashboard: + [Base UI npm KPIs](https://code-infra-dashboard.onrender.com/npm-downloads?packages=%40base-ui%2Freact%2C%40mui%2Fbase%2Creact-aria%2C%40react-aria%2Futils%2C%40headlessui%2Freact%2Creakit%2C%40radix-ui%2Freact-primitive%2C%40reach%2Futils%2C%40ark-ui%2Freact%2C%40ariakit%2Freact)" + display: shell diff --git a/apps/tools-public/toolpad/pages/cICompletionTime/page.yml b/apps/tools-public/toolpad/pages/cICompletionTime/page.yml index ba9b63df9..eedfbe49a 100644 --- a/apps/tools-public/toolpad/pages/cICompletionTime/page.yml +++ b/apps/tools-public/toolpad/pages/cICompletionTime/page.yml @@ -4,49 +4,17 @@ apiVersion: v1 kind: page spec: title: CI completion time - parameters: - - name: repository - value: mui-x + alias: + - fn03hvq + displayName: CI completion time content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: > - Math.round((queryInsights.data.metrics.duration_metrics.median / 60) - * 100) / - 100 - warning: 15 - problem: 20 - unit: minutes - lowerIsBetter: true - component: Text - name: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: > - `Based on the last 7 days (${queryInsights.data.metrics.total_runs} - runs)` - queries: - - name: queryInsights - query: - kind: rest - url: - $$jsExpression: > - `https://circleci.com/api/v2/insights/github/mui/${parameters.repository}/workflows/pipeline/summary?analytics-segmentation=web-ui-insights&reporting-window=last-7-days&workflow-name=pipeline` - headers: [] - method: GET - searchParams: [] - parameters: - - name: repository - value: - $$jsExpression: | - page.parameters.repository + "This page has moved to the code-infra-dashboard: + [CI completion time](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - fn03hvq - displayName: CI completion time diff --git a/apps/tools-public/toolpad/pages/closedIssuesNoNeedtriage/page.yml b/apps/tools-public/toolpad/pages/closedIssuesNoNeedtriage/page.yml index 742b711fe..64cf0b1bf 100644 --- a/apps/tools-public/toolpad/pages/closedIssuesNoNeedtriage/page.yml +++ b/apps/tools-public/toolpad/pages/closedIssuesNoNeedtriage/page.yml @@ -4,173 +4,17 @@ apiVersion: v1 kind: page spec: title: Closed issues no product scope + alias: + - 7ju3hr6 + displayName: Closed issues no product scope content: - component: Text name: text - layout: - columnSize: 1 - props: - value: Issues without product scope label - variant: h5 - - component: Text - name: text1 layout: columnSize: 1 props: mode: markdown - value: "This page is used for: - https://www.notion.so/mui-org/GitHub-community-issues-PRs-12a84fdf50e\ - 44595afc55343dac00fca#d6680f5abf8b4e3ab132cb8e336bb5bc" - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: |- - materialUI.rows - .concat(muix.rows) - .concat(muiDesignKits.rows) - .concat(pigmentcss.rows) - .concat(baseUi.rows) - .sort((issueA, issueB) => { - if (issueA.state === "open") { - return 1 - } - if (issueB.state === "open") { - return 1 - } - return issueB.number - issueA.number - }) - columns: - - field: number - type: number - width: 81 - - field: state - type: string - - field: title - type: string - width: 272 - - field: html_url - type: link - width: 310 - height: 396 - queries: - - name: materialUI - query: - kind: rest - url: https://api.github.com/repos/mui/material-ui/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: closed - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: muix - query: - kind: rest - url: https://api.github.com/repos/mui/mui-x/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: closed - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: muiDesignKits - query: - kind: rest - url: https://api.github.com/repos/mui/mui-design-kits/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: closed - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: baseUi - query: - kind: rest - url: https://api.github.com/repos/mui/base-ui/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: closed - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: pigmentcss - query: - kind: rest - url: https://api.github.com/repos/mui/pigment-css/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: closed - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - alias: - - 7ju3hr6 - displayName: Closed issues no product scope + value: + "This page has moved to the code-infra-dashboard: + [Closed issues no product scope](https://code-infra-dashboard.onrender.com/github-triage?view=closed-issues-no-product-scope)" + display: shell diff --git a/apps/tools-public/toolpad/pages/closedVsOpenedIssues/page.yml b/apps/tools-public/toolpad/pages/closedVsOpenedIssues/page.yml index 32755bd6f..3d7aaf6ec 100644 --- a/apps/tools-public/toolpad/pages/closedVsOpenedIssues/page.yml +++ b/apps/tools-public/toolpad/pages/closedVsOpenedIssues/page.yml @@ -4,70 +4,17 @@ apiVersion: v1 kind: page spec: title: Closed vs. opened issues - parameters: - - name: repoId - value: '23083156' + alias: + - 2413lvx + displayName: Closed vs. opened issues content: - - component: Text - name: text1 - layout: - columnSize: 1 - props: - value: "This issue is for: - [https://www.notion.so/mui-org/KPIs-1ce9658b85ce4628a2a2ed2ae74ff69c?\ - pvs=4#6585efdaa9d24a66a60a2e74e1613cae](https://www.notion.so/mui-org\ - /KPIs-1ce9658b85ce4628a2a2ed2ae74ff69c?pvs=4#6585efdaa9d24a66a60a2e74\ - e1613cae)" - mode: markdown - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: | - (() => { - const timeSpanInMonths = 3 - let totalOpened = 0 - let totalClosed = 0 - - for (let i = 0; i < timeSpanInMonths; i++) { - totalClosed = +issuesOpenedVsClosedRatio.data.data[i].closed - totalOpened = +issuesOpenedVsClosedRatio.data.data[i].opened - } - - return (totalOpened / totalClosed).toFixed(2) - })() - unit: ratio - problem: 2 - warning: 2 - lowerIsBetter: true - component: Text name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - (() => { - return "Based on the last 3 months" - })() - queries: - - name: issuesOpenedVsClosedRatio - query: - kind: rest - url: - $$jsExpression: > - `https://api.ossinsight.io/q/analyze-issue-opened-and-closed?repoId=${parameters.repoId}` - searchParams: [] - headers: [] - method: GET - parameters: - - name: repoId - value: - $$jsExpression: | - page.parameters.repoId + "This page has moved to the code-infra-dashboard: + [Closed vs. opened issues](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - 2413lvx - displayName: Closed vs. opened issues diff --git a/apps/tools-public/toolpad/pages/communityContributors/page.yml b/apps/tools-public/toolpad/pages/communityContributors/page.yml index c2559149b..8c128273e 100644 --- a/apps/tools-public/toolpad/pages/communityContributors/page.yml +++ b/apps/tools-public/toolpad/pages/communityContributors/page.yml @@ -4,74 +4,16 @@ apiVersion: v1 kind: page spec: title: Community contributors - parameters: - - name: repositoryId - value: '23083156' + alias: + - SYEV3CY + displayName: Community contributors content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - ContributorsPerMonth.data.length === 0 - ? 0 - : Math.round( - (ContributorsPerMonth.data[0].pr_community_count / - ContributorsPerMonth.data[0].pr_maintainers_count) * - 10 - ) / 10 - unit: x - problem: 2 - warning: 3 - queries: - - name: ContributorsPerMonth - query: - function: ContributorsPerMonth - kind: local - parameters: - - name: repositoryId - value: - $$jsExpression: | - page.parameters.repositoryId - - name: startDate - value: - $$jsExpression: > - (() => { - function dateToYMD(date) { - var d = date.getDate() - var m = date.getMonth() + 1 //Month from 0 to 11 - var y = date.getFullYear() - return "" + y + "-" + (m <= 9 ? "0" + m : m) + "-" + (d <= 9 ? "0" + d : d) - } - - function getFirstDayOfPreviousMonth() { - var currentDate = new Date() - var currentYear = currentDate.getFullYear() - var currentMonth = currentDate.getMonth() - var day = currentDate.getDate() - - var previousMonth - var previousYear - - /*if (day > 15) { - previousMonth = currentMonth - previousYear = currentYear - } else*/ if (currentMonth === 0) { - previousMonth = 11 // December - previousYear = currentYear - 1 - } else { - previousMonth = currentMonth - 1 - previousYear = currentYear - } - - var firstDayOfPreviousMonth = new Date(previousYear, previousMonth, 1) - return firstDayOfPreviousMonth - } - - return dateToYMD(getFirstDayOfPreviousMonth()) - })() - alias: - - SYEV3CY - displayName: Community contributors + "This page has moved to the code-infra-dashboard: + [Community contributors](https://code-infra-dashboard.onrender.com/kpis)" diff --git a/apps/tools-public/toolpad/pages/communityPRs/page.yml b/apps/tools-public/toolpad/pages/communityPRs/page.yml index dd97e8a59..a1bcc9512 100644 --- a/apps/tools-public/toolpad/pages/communityPRs/page.yml +++ b/apps/tools-public/toolpad/pages/communityPRs/page.yml @@ -4,73 +4,16 @@ apiVersion: v1 kind: page spec: title: Community PRs - parameters: - - name: repositoryId - value: '23083156' + alias: + - KiUQrhI + displayName: Community PRs content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - PRsPerMonth.data.length === 0 - ? 0 - : Math.round( - (PRsPerMonth.data[0].pr_community_count / - PRsPerMonth.data[0].pr_maintainers_count) * - 1000 - ) / 10 - problem: 35 - warning: 50 - queries: - - name: PRsPerMonth - query: - function: PRsPerMonth - kind: local - parameters: - - name: repositoryId - value: - $$jsExpression: | - page.parameters.repositoryId - - name: startDate - value: - $$jsExpression: > - (() => { - function dateToYMD(date) { - var d = date.getDate() - var m = date.getMonth() + 1 //Month from 0 to 11 - var y = date.getFullYear() - return "" + y + "-" + (m <= 9 ? "0" + m : m) + "-" + (d <= 9 ? "0" + d : d) - } - - function getFirstDayOfPreviousMonth() { - var currentDate = new Date() - var currentYear = currentDate.getFullYear() - var currentMonth = currentDate.getMonth() - var day = currentDate.getDate() - - var previousMonth - var previousYear - - /*if (day > 15) { - previousMonth = currentMonth - previousYear = currentYear - } else*/ if (currentMonth === 0) { - previousMonth = 11 // December - previousYear = currentYear - 1 - } else { - previousMonth = currentMonth - 1 - previousYear = currentYear - } - - var firstDayOfPreviousMonth = new Date(previousYear, previousMonth, 1) - return firstDayOfPreviousMonth - } - - return dateToYMD(getFirstDayOfPreviousMonth()) - })() - alias: - - KiUQrhI - displayName: Community PRs + "This page has moved to the code-infra-dashboard: + [Community PRs](https://code-infra-dashboard.onrender.com/kpis)" diff --git a/apps/tools-public/toolpad/pages/gender/page.yml b/apps/tools-public/toolpad/pages/gender/page.yml index 917fae9bd..6e2d8ad99 100644 --- a/apps/tools-public/toolpad/pages/gender/page.yml +++ b/apps/tools-public/toolpad/pages/gender/page.yml @@ -4,24 +4,17 @@ apiVersion: v1 kind: page spec: title: Gender - display: shell + alias: + - id9G8nf + displayName: Gender content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - gender.data != null ? Math.round(gender.data * 10) / 10 : undefined - warning: 30 - problem: 15 - lowerIsBetter: false - queries: - - name: gender - query: - function: queryGender.ts#queryGender - kind: local - alias: - - id9G8nf - displayName: Gender + "This page has moved to the code-infra-dashboard: + [Gender](https://code-infra-dashboard.onrender.com/kpis)" + display: shell diff --git a/apps/tools-public/toolpad/pages/genderEngineering/page.yml b/apps/tools-public/toolpad/pages/genderEngineering/page.yml index 0516ffa71..4f58ea17f 100644 --- a/apps/tools-public/toolpad/pages/genderEngineering/page.yml +++ b/apps/tools-public/toolpad/pages/genderEngineering/page.yml @@ -4,30 +4,17 @@ apiVersion: v1 kind: page spec: title: Gender in engineering - parameters: - - name: department - value: '' + alias: + - ZGrUwtd + displayName: Gender in engineering content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: > - gender1.data != null ? Math.round(gender1.data * 10) / 10 : undefined - warning: 14 - problem: 7 - lowerIsBetter: false - queries: - - name: gender1 - query: - function: queryGender.ts#queryGender - kind: local - parameters: - - name: department - value: '256186803' + "This page has moved to the code-infra-dashboard: + [Gender in engineering](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - ZGrUwtd - displayName: Gender in engineering diff --git a/apps/tools-public/toolpad/pages/genderManagement/page.yml b/apps/tools-public/toolpad/pages/genderManagement/page.yml index 77e22afc3..2ad1d4db4 100644 --- a/apps/tools-public/toolpad/pages/genderManagement/page.yml +++ b/apps/tools-public/toolpad/pages/genderManagement/page.yml @@ -4,25 +4,17 @@ apiVersion: v1 kind: page spec: title: Gender in management - display: shell + alias: + - oEEu_u7 + displayName: Gender in management content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - genderManagement.data != null - ? Math.round(genderManagement.data * 10) / 10 - : undefined - warning: 30 - problem: 15 - queries: - - name: genderManagement - query: - function: queryGender.ts#queryGenderManagement - kind: local - alias: - - oEEu_u7 - displayName: Gender in management + "This page has moved to the code-infra-dashboard: + [Gender in management](https://code-infra-dashboard.onrender.com/kpis)" + display: shell diff --git a/apps/tools-public/toolpad/pages/headCISuccessRate/page.yml b/apps/tools-public/toolpad/pages/headCISuccessRate/page.yml index a08b0bf07..b3d422150 100644 --- a/apps/tools-public/toolpad/pages/headCISuccessRate/page.yml +++ b/apps/tools-public/toolpad/pages/headCISuccessRate/page.yml @@ -4,50 +4,17 @@ apiVersion: v1 kind: page spec: title: Head CI success rate - parameters: - - name: repository - value: mui-x + alias: + - lo33hck + displayName: Head CI success rate content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - warning: 75 - problem: 50 - value: - $$jsExpression: > - Math.round( - (queryCommitStatuses.data.repository.defaultBranchRef.target.history.nodes.filter( - (commit) => - commit.status && - (commit.status.state === "SUCCESS" || commit.status.state === "PENDING") - ).length / - queryCommitStatuses.data.repository.defaultBranchRef.target.history.nodes - .length) * - 100 - ) - component: Text - name: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: > - `Based on the last 7 days - (${queryCommitStatuses.data.repository.defaultBranchRef.target.history.nodes.length} - commits)` - queries: - - name: queryCommitStatuses - query: - function: queryCommitStatuses - kind: local - parameters: - - name: repository - value: - $$jsExpression: | - page.parameters.repository + "This page has moved to the code-infra-dashboard: + [Head CI success rate](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - lo33hck - displayName: Head CI success rate diff --git a/apps/tools-public/toolpad/pages/issueFirstComment/page.yml b/apps/tools-public/toolpad/pages/issueFirstComment/page.yml index fc6f98881..e590e94f5 100644 --- a/apps/tools-public/toolpad/pages/issueFirstComment/page.yml +++ b/apps/tools-public/toolpad/pages/issueFirstComment/page.yml @@ -4,60 +4,17 @@ apiVersion: v1 kind: page spec: title: Issue first comment - parameters: - - name: repoId - value: '23083156' + alias: + - fo163htb + displayName: Issue first comment content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: > - (() => { - const length = issueOpenToFirstResponded.data.data.length - - if (issueOpenToFirstResponded.data.data[length - 1].p75 == null) { - return null - } - - return Math.round(issueOpenToFirstResponded.data.data[length - 1].p75) - })() - warning: 8 - problem: 24 - unit: ' hours' - lowerIsBetter: true - component: Text - name: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - (() => { - const length = issueOpenToFirstResponded.data.data.length - - return `Based on the last 30 days (since ${ - issueOpenToFirstResponded.data.data[length - 1].event_month - })` - })() - queries: - - name: issueOpenToFirstResponded - query: - kind: rest - url: - $$jsExpression: > - `https://api.ossinsight.io/q/analyze-issue-open-to-first-responded?repoId=${parameters.repoId}` - headers: [] - method: GET - searchParams: [] - parameters: - - name: repoId - value: - $$jsExpression: | - page.parameters.repoId + "This page has moved to the code-infra-dashboard: + [Issue first comment](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - fo163htb - displayName: Issue first comment diff --git a/apps/tools-public/toolpad/pages/issueWithoutProductScope/page.yml b/apps/tools-public/toolpad/pages/issueWithoutProductScope/page.yml index 034905553..e575d0ff7 100644 --- a/apps/tools-public/toolpad/pages/issueWithoutProductScope/page.yml +++ b/apps/tools-public/toolpad/pages/issueWithoutProductScope/page.yml @@ -4,184 +4,17 @@ apiVersion: v1 kind: page spec: title: Issue without product scope + alias: + - y923hoo + displayName: Issue without product scope content: - component: Text name: text - layout: - columnSize: 1 - props: - value: Issues without product scope label - variant: h5 - - component: Text - name: text1 layout: columnSize: 1 props: mode: markdown - value: "This page is used for: - https://www.notion.so/mui-org/GitHub-community-issues-PRs-12a84fdf50e\ - 44595afc55343dac00fca#d6680f5abf8b4e3ab132cb8e336bb5bc" - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: >- - (() => { - const nonProductScopeLabels = ['support: docs-feedback'] - - return materialUI.rows - .concat(muix.rows) - .concat(muiDesignKits.rows) - //.concat(pigmentCSS.rows) - .concat(baseUI.rows) - .filter((issue) => { - const withoutNonProductScopeLabels = issue.labels.filter( - (label) => !nonProductScopeLabels.includes(label.name), - ) - return withoutNonProductScopeLabels.length === 1 - }) - .sort((issueA, issueB) => { - if (issueA.state === 'open') { - return 1 - } - if (issueB.state === 'open') { - return 1 - } - return issueB.number - issueA.number - }) - })() - columns: - - field: number - type: string - width: 74 - - field: state - type: string - width: 82 - - field: title - type: string - width: 352 - - field: html_url - type: link - width: 111 - height: 396 - queries: - - name: materialUI - query: - kind: rest - url: https://api.github.com/repos/mui/material-ui/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: all - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: muix - query: - kind: rest - url: https://api.github.com/repos/mui/mui-x/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: all - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: muiDesignKits - query: - kind: rest - url: https://api.github.com/repos/mui/mui-design-kits/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: all - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: baseUI - query: - kind: rest - url: https://api.github.com/repos/mui/base-ui/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: all - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: pigmentCSS - query: - kind: rest - url: https://api.github.com/repos/mui/pigment-css/issues - searchParams: - - name: labels - value: 'status: waiting for maintainer' - - name: per_page - value: '100' - - name: state - value: all - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - alias: - - y923hoo - displayName: Issue without product scope + value: + "This page has moved to the code-infra-dashboard: + [Issue without product scope](https://code-infra-dashboard.onrender.com/github-triage?view=issues-without-product-scope)" + display: shell diff --git a/apps/tools-public/toolpad/pages/issuesWithoutLabels/page.yml b/apps/tools-public/toolpad/pages/issuesWithoutLabels/page.yml index 29c92aa00..3ac0e4318 100644 --- a/apps/tools-public/toolpad/pages/issuesWithoutLabels/page.yml +++ b/apps/tools-public/toolpad/pages/issuesWithoutLabels/page.yml @@ -10,96 +10,11 @@ spec: content: - component: Text name: text - layout: - columnSize: 1 - props: - value: Issues without labels - variant: h5 - - component: Text - name: text1 layout: columnSize: 1 props: mode: markdown - value: This page is used for - https://www.notion.so/mui-org/KPIs-1ce9658b85ce4628a2a2ed2ae74ff69c?pvs=4#0231c2f8e6924c6d856b9dcda6af99c1. - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: | - fetchIssuesWithoutLabels.data.items.concat( - fetchOpenIssuesWithoutLabels.data.items - ) - columns: - - field: html_url - type: link - width: 273 - - field: number - type: number - width: 107 - - field: title - type: string - width: 319 - - field: state - type: string - width: 230 - height: 442 - queries: - - name: fetchIssuesWithoutLabels - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: is:issue is:closed no:label repo:mui/mui-x repo:mui/mui-design-kits - repo:mui/material-ui repo:mui/mui-private repo:mui/mui-public - repo:mui/base-ui repo:mui/pigment-css repo:mui/toolpad - - name: order - value: desc - - name: sort - value: updated - headers: - - name: Authorization - value: - $$jsExpression: | - `Bearer ${parameters.GITHUB_TOKEN}` - method: GET - transform: |- - return { - items: data.items, - }; - transformEnabled: true - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: fetchOpenIssuesWithoutLabels - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: is:issue no:label org:mui is:open - - name: order - value: desc - - name: sort - value: updated - headers: - - name: Authorization - value: - $$jsExpression: | - `Bearer ${parameters.GITHUB_TOKEN}` - method: GET - transform: |- - return { - items: data.items, - }; - transformEnabled: true - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN + value: + "This page has moved to the code-infra-dashboard: + [Issues without labels](https://code-infra-dashboard.onrender.com/github-triage?view=issues-without-labels)" display: shell diff --git a/apps/tools-public/toolpad/pages/joyUiNpmKpis/page.yml b/apps/tools-public/toolpad/pages/joyUiNpmKpis/page.yml index 4990cef9b..f9649a577 100644 --- a/apps/tools-public/toolpad/pages/joyUiNpmKpis/page.yml +++ b/apps/tools-public/toolpad/pages/joyUiNpmKpis/page.yml @@ -4,68 +4,17 @@ apiVersion: v1 kind: page spec: title: Joy UI npm KPIs - display: shell - queries: - - name: queryJoyUIDownloads - query: - function: queryJoyUIMonthlyDownloads.ts#queryJoyUIDownloads - kind: local + alias: + - I1HlSLD + displayName: Joy UI npm KPIs content: - component: Text name: text layout: columnSize: 1 props: - value: Joy UI npm downloads - variant: h6 - - component: Chart - name: chart - layout: - columnSize: 1 - props: - data: - - label: '@mui/joy' - kind: line - data: - $$jsExpression: | - queryJoyUIDownloads.data - color: '#1976d2' - xKey: date - yKey: '@mui/joy' - - component: Text - name: text1 - layout: - columnSize: 1 - props: - value: Joy UI month to month growth (%) - variant: h6 - - component: Chart - name: chart1 - layout: - columnSize: 1 - props: - data: - - label: '@mui/joy' - kind: line - data: - $$jsExpression: | - queryJoyUIDownloads.data - .map((item, idx) => { - return { - date: item.date, - "@mui/joy": - idx > 0 - ? ((item["@mui/joy"] - - queryJoyUIDownloads.data[idx - 1]["@mui/joy"]) / - queryJoyUIDownloads.data[idx - 1]["@mui/joy"]) * - 100 - : null, - } - }) - .filter((item) => item["@mui/joy"] !== null) - color: '#1976d2' - xKey: date - yKey: '@mui/joy' - alias: - - I1HlSLD - displayName: Joy UI npm KPIs + mode: markdown + value: + "This page has moved to the code-infra-dashboard: + [Joy UI npm KPIs](https://code-infra-dashboard.onrender.com/npm-downloads?packages=%40mui%2Fjoy)" + display: shell diff --git a/apps/tools-public/toolpad/pages/medianTimeToCompletion/page.yml b/apps/tools-public/toolpad/pages/medianTimeToCompletion/page.yml index ac65f58d2..d369bdc0f 100644 --- a/apps/tools-public/toolpad/pages/medianTimeToCompletion/page.yml +++ b/apps/tools-public/toolpad/pages/medianTimeToCompletion/page.yml @@ -4,63 +4,17 @@ apiVersion: v1 kind: page spec: title: Median time to completion - parameters: - - name: repoId - value: '23083156' + alias: + - 9ou3hb2 + displayName: Median time to completion content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: > - (() => { - const length = pullRequestOpenToMerged.data.data.length - - if (pullRequestOpenToMerged.data.data[length - 1].p75 == null) { - return null - } - - return ( - Math.round((pullRequestOpenToMerged.data.data[length - 1].p75 / 24) * 100) / - 100 - ) - })() - warning: 3 - problem: 5 - unit: days - lowerIsBetter: true - component: Text - name: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - (() => { - const length = pullRequestOpenToMerged.data.data.length - - return `Based on the last 30 days (${ - pullRequestOpenToMerged.data.data[length - 1].event_month - })` - })() - queries: - - name: pullRequestOpenToMerged - query: - kind: rest - url: - $$jsExpression: > - `https://api.ossinsight.io/q/analyze-pull-request-open-to-merged?repoId=${parameters.repoId}` - headers: [] - method: GET - searchParams: [] - parameters: - - name: repoId - value: - $$jsExpression: | - page.parameters.repoId + "This page has moved to the code-infra-dashboard: + [Median time to completion](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - 9ou3hb2 - displayName: Median time to completion diff --git a/apps/tools-public/toolpad/pages/missingGitHubLabel/page.yml b/apps/tools-public/toolpad/pages/missingGitHubLabel/page.yml index f54bf7521..98edaaac9 100644 --- a/apps/tools-public/toolpad/pages/missingGitHubLabel/page.yml +++ b/apps/tools-public/toolpad/pages/missingGitHubLabel/page.yml @@ -4,80 +4,17 @@ apiVersion: v1 kind: page spec: title: Missing GitHub label + alias: + - bse3h9c + displayName: Missing GitHub label content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: |- - queryOpenNoLabels.data.items - .concat(queryIssueCloseNoLabels.data) - .concat(queryPRmergedNoLabels.data) - .filter(item => !item.draft).length - warning: 1 - problem: 10 - unit: ' issues or PRs' - lowerIsBetter: true - queries: - - name: queryOpenNoLabels - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: no:label is:open org:mui - headers: - [ - { - name: Authorization, - value: { $$jsExpression: '`Bearer ${parameters.GITHUB_TOKEN}`' }, - }, - ] - method: GET - transform: return data.items.filter(item => !item.draft); - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: queryIssueCloseNoLabels - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: is:issue no:label is:close repo:mui/mui-x repo:mui/mui-design-kits - repo:mui/material-ui repo:mui/mui-private repo:mui/mui-public - repo:mui/base-ui repo:mui/pigment-css - headers: [] - method: GET - transform: return data.items.filter(item => !item.draft); - transformEnabled: true - - name: queryPRmergedNoLabels - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: is:pull-request no:label is:merged repo:mui/mui-x - repo:mui/mui-design-kits repo:mui/material-ui repo:mui/base-ui - repo:mui/pigment-css - headers: - [ - { - name: Authorization, - value: { $$jsExpression: '`Bearer ${parameters.GITHUB_TOKEN}`' }, - }, - ] - method: GET - transform: return data.items.filter(item => !item.draft); - transformEnabled: true - parameters: - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN + "This page has moved to the code-infra-dashboard: + [Missing GitHub label](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - bse3h9c - displayName: Missing GitHub label diff --git a/apps/tools-public/toolpad/pages/needtriageNotAssigned/page.yml b/apps/tools-public/toolpad/pages/needtriageNotAssigned/page.yml index 2695f1924..3fd62ea03 100644 --- a/apps/tools-public/toolpad/pages/needtriageNotAssigned/page.yml +++ b/apps/tools-public/toolpad/pages/needtriageNotAssigned/page.yml @@ -4,76 +4,17 @@ apiVersion: v1 kind: page spec: title: Waiting for maintainers not assigned + alias: + - hl63hwf + displayName: Waiting for maintainers not assigned content: - component: Text - name: text1 - layout: - columnSize: 1 - props: - value: 'Open "status: waiting for maintainer" issues without assignee' - variant: h5 - - component: Text - name: text2 + name: text layout: columnSize: 1 props: mode: markdown - value: "Built for: - https://www.notion.so/mui-org/GitHub-community-issues-PRs-Tier-1-12a8\ - 4fdf50e44595afc55343dac00fca#8f5ae0daa6ad4543b866f3ad0532c9e4" - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: >- - noAssignee.data - .map((data) => ({ - ...data, - repo: data.repository_url.replace("https://api.github.com/repos/mui/", ""), - })) - .sort((a, b) => { - if (a.repo === "mui-x") { - return 1 - } - - if (b.repo === "mui-x") { - return -1 - } - }) - columns: - - field: number - type: string - width: 81 - - field: repo - type: string - width: 104 - - field: title - type: string - width: 508 - - field: html_url - type: link - width: 125 - height: 452 - queries: - - name: noAssignee - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: 'repo:mui/pigment-css repo:mui/base-ui repo:mui/material-ui - repo:mui/mui-x repo:mui/mui-design-kits is:open is:issue - label:"status: waiting for maintainer" no:assignee' - headers: - - name: Bearer - value: abc - method: GET - transform: |+ - return data.items - - transformEnabled: true - alias: - - hl63hwf - displayName: Waiting for maintainers not assigned + value: + "This page has moved to the code-infra-dashboard: + [Waiting for maintainers not assigned](https://code-infra-dashboard.onrender.com/github-triage?view=needs-triage-not-assigned)" + display: shell diff --git a/apps/tools-public/toolpad/pages/npmVersion/page.yml b/apps/tools-public/toolpad/pages/npmVersion/page.yml index 0ffcbedad..e80edb620 100644 --- a/apps/tools-public/toolpad/pages/npmVersion/page.yml +++ b/apps/tools-public/toolpad/pages/npmVersion/page.yml @@ -4,9 +4,9 @@ apiVersion: v1 kind: page spec: title: npm version - parameters: - - name: package - value: react-dom + alias: + - m023hp4 + displayName: npm version content: - component: Text name: text @@ -15,17 +15,6 @@ spec: props: mode: markdown value: - $$jsExpression: |- - `## Deprecated (Downloads in the last 7 days) - - Use this instead: https://frontend-public.mui.com/npm-versions?package=${page.parameters.package}` - - component: codeComponent.Redirect - name: redirect - props: - url: - $$jsExpression: "`https://frontend-public.mui.com/npm-versions?package=${page.p\ - arameters.package}`" + "This page has moved: + [npm version](https://frontend-public.mui.com/npm-versions)" display: shell - alias: - - m023hp4 - displayName: npm version diff --git a/apps/tools-public/toolpad/pages/openPRs/page.yml b/apps/tools-public/toolpad/pages/openPRs/page.yml index 0d567438f..44d87a91c 100644 --- a/apps/tools-public/toolpad/pages/openPRs/page.yml +++ b/apps/tools-public/toolpad/pages/openPRs/page.yml @@ -4,56 +4,17 @@ apiVersion: v1 kind: page spec: title: Open PRs - parameters: - - name: repo - value: material-ui - - name: warning - value: '50' + alias: + - 39j3h6b + displayName: Open PRs content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - openPRs.data.total_count - unit: ' open PRs' - warning: - $$jsExpression: | - page.parameters.warning - problem: - $$jsExpression: | - parseInt(page.parameters.warning) * 1.5 - lowerIsBetter: true - queries: - - name: openPRs - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: - $$jsExpression: > - `is:pull-request is:open -is:draft - repo:mui/${parameters.repository}` - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: repository - value: - $$jsExpression: | - page.parameters.repo - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN + "This page has moved to the code-infra-dashboard: + [Open PRs](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - 39j3h6b - displayName: Open PRs diff --git a/apps/tools-public/toolpad/pages/openPrWithoutReviewer/page.yml b/apps/tools-public/toolpad/pages/openPrWithoutReviewer/page.yml index b5596f9c8..0f2ad5ea2 100644 --- a/apps/tools-public/toolpad/pages/openPrWithoutReviewer/page.yml +++ b/apps/tools-public/toolpad/pages/openPrWithoutReviewer/page.yml @@ -4,81 +4,17 @@ apiVersion: v1 kind: page spec: title: Open PR without Reviewer + alias: + - 1t353h04 + displayName: Open PR without Reviewer content: - component: Text name: text - layout: - columnSize: 1 - props: - value: Open PRs without requested reviewer - variant: h5 - - component: Text - name: text1 layout: columnSize: 1 props: mode: markdown - value: "This page is used for: - https://www.notion.so/mui-org/GitHub-community-issues-PRs-Tier-1-12a8\ - 4fdf50e44595afc55343dac00fca#c6b06804e0ac40c3aa2b5b5c16b202bf" - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: > - (() => { - const filterOutLabels = ["on hold"] - const rtf = new Intl.RelativeTimeFormat("en", { style: "narrow" }) - - const daysAgo = (a, b) => { - const difference = a.getTime() - b.getTime() - return Math.ceil(difference / (1000 * 3600 * 24)) - } - - return queryPRswithoutReviewer.data - .filter((pr) => !pr.isDraft) - .filter( - (pr) => - pr.reviews.nodes.length === 0 && pr.reviewRequests.nodes.length === 0 - ) - .filter( - (pr) => - pr.labels.nodes.filter((label) => filterOutLabels.includes(label.name)) - .length === 0 - ) - .map((pr) => ({ - ...pr, - repository: pr.repository, - daysAgoRaw: daysAgo(new Date(pr.createdAt), new Date()), - daysAgo: rtf.format(daysAgo(new Date(pr.createdAt), new Date()), "day"), - })) - .filter((pr) => !(pr.repository === "mui-x" && pr.daysAgoRaw > -14)) - })() - columns: - - field: number - type: string - width: 72 - - field: repository - type: string - - field: title - type: string - width: 215 - - field: url - type: link - width: 197 - - field: labels - type: json - width: 300 - - field: daysAgo - type: string - height: 480 - queries: - - name: queryPRswithoutReviewer - query: - function: queryPRswithoutReviewer.ts#queryPRswithoutReviewer - kind: local - alias: - - 1t353h04 - displayName: Open PR without Reviewer + value: + "This page has moved to the code-infra-dashboard: + [Open PR without Reviewer](https://code-infra-dashboard.onrender.com/github-triage?view=prs-without-reviewer)" + display: shell diff --git a/apps/tools-public/toolpad/pages/overdueRatio/page.yml b/apps/tools-public/toolpad/pages/overdueRatio/page.yml index a2c4b5463..b8a8cf629 100644 --- a/apps/tools-public/toolpad/pages/overdueRatio/page.yml +++ b/apps/tools-public/toolpad/pages/overdueRatio/page.yml @@ -4,30 +4,17 @@ apiVersion: v1 kind: page spec: title: Overdue ratio + alias: + - 8n03iat + displayName: Overdue ratio content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - warning: 10 - problem: 15 - lowerIsBetter: true - value: - $$jsExpression: | - Math.round(getRatio.data.ratio * 10000) / 100 - component: Text - name: Text + name: text layout: columnSize: 1 props: - value: Based on last 30 days invoices - queries: - - name: getRatio - query: - function: getRatio - kind: local + mode: markdown + value: + "This page has moved to the code-infra-dashboard: + [Overdue ratio](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - 8n03iat - displayName: Overdue ratio diff --git a/apps/tools-public/toolpad/pages/prWithoutLabels/page.yml b/apps/tools-public/toolpad/pages/prWithoutLabels/page.yml index 01c629a5b..03da0f70c 100644 --- a/apps/tools-public/toolpad/pages/prWithoutLabels/page.yml +++ b/apps/tools-public/toolpad/pages/prWithoutLabels/page.yml @@ -4,54 +4,17 @@ apiVersion: v1 kind: page spec: title: PR without labels + alias: + - tn213hge + displayName: PR without labels content: - component: Text name: text - layout: - columnSize: 1 - props: - value: PRs without labels - variant: h5 - - component: Text - name: text1 layout: columnSize: 1 props: mode: markdown - value: "This page is used for: - https://www.notion.so/mui-org/GitHub-community-issues-PRs-Tier-1-12a8\ - 4fdf50e44595afc55343dac00fca#d97e5e8b4f394dec95de36668dbf81d2" - - component: DataGrid - name: dataGrid - layout: - columnSize: 1 - props: - rows: - $$jsExpression: > - (() => { - const filterOutLabels = ["PR: out-of-date", "PR: needs revision"] - - return queryPRs.data - .filter((pr) => !pr.isDraft) - .filter( - (pr) => - pr.labels.nodes.filter((label) => !filterOutLabels.includes(label.name)) - .length === 0 - ) - })() - columns: - - field: title - type: string - width: 312 - - field: url - type: link - width: 352 - height: 480 - queries: - - name: queryPRs - query: - function: queryPRs.ts#queryPRs - kind: local - alias: - - tn213hge - displayName: PR without labels + value: + "This page has moved to the code-infra-dashboard: + [PR without labels](https://code-infra-dashboard.onrender.com/github-triage?view=prs-without-labels)" + display: shell diff --git a/apps/tools-public/toolpad/pages/waitingForMaintainer/page.yml b/apps/tools-public/toolpad/pages/waitingForMaintainer/page.yml index 8bfcd761e..b863f3a83 100644 --- a/apps/tools-public/toolpad/pages/waitingForMaintainer/page.yml +++ b/apps/tools-public/toolpad/pages/waitingForMaintainer/page.yml @@ -4,60 +4,17 @@ apiVersion: v1 kind: page spec: title: Waiting for maintainer - parameters: - - name: repository - value: material-ui + alias: + - hj1i3hqe + displayName: Waiting for maintainer content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge + - component: Text + name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: | - waitingForMaintainer.data.total_count - warning: 25 - problem: 50 - unit: ' issues' - lowerIsBetter: true - queries: - - name: waitingForMaintainer - query: - kind: rest - url: https://api.github.com/search/issues - searchParams: - - name: q - value: - $$jsExpression: > - `is:issue repo:mui/${parameters.repository} label:"status: - waiting for maintainer" ` - headers: - [ - { - name: Authorization, - value: { $$jsExpression: "`Bearer ${parameters.GITHUB_TOKEN}`\n" }, - }, - ] - method: GET - parameters: - - name: repository - value: - $$jsExpression: | - page.parameters.repository - - name: GITHUB_TOKEN - value: - $$env: GITHUB_TOKEN - - name: waitingForMaintainer2 - mode: query - query: - function: queryGitHubSearchAPI.ts#queryGitHubSearchAPI - kind: local - parameters: - - name: queryInput - value: - $$jsExpression: '`is:issue repo:mui/${page.parameters.repository} - label:\\"status: waiting for maintainer\\"`' + "This page has moved to the code-infra-dashboard: + [Waiting for maintainer](https://code-infra-dashboard.onrender.com/kpis)" display: shell - alias: - - hj1i3hqe - displayName: Waiting for maintainer diff --git a/apps/tools-public/toolpad/pages/zendeskFirstReply/page.yml b/apps/tools-public/toolpad/pages/zendeskFirstReply/page.yml index f0e4db6ac..e1283eb41 100644 --- a/apps/tools-public/toolpad/pages/zendeskFirstReply/page.yml +++ b/apps/tools-public/toolpad/pages/zendeskFirstReply/page.yml @@ -4,101 +4,16 @@ apiVersion: v1 kind: page spec: title: Zendesk first reply + alias: + - hr03hdi + displayName: Zendesk first reply content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: > - (() => { - const metrics = metricEvents.data.map((event) => ({ - ...event, - ticket: { - tags: fetchTicketIds.data[event.ticket_id].tags, - }, - })) - - const numberOfEvent = metrics - .filter((event) => !event.ticket.tags.includes("chasing_overdue_invoice")) - .map((event) => event.reply_time_in_minutes.business) - .filter((time) => time !== null) - .sort((a, b) => a - b) - - return ( - Math.round( - (numberOfEvent[Math.round(numberOfEvent.length / 2)] / 60) * 100 - ) / 100 - ) - })() - warning: 5 - problem: 8 - lowerIsBetter: true - unit: hours - component: Text name: text layout: columnSize: 1 props: - value: Based on the last 100 open tickets - queries: - - name: metricEvents - query: - kind: rest - url: https://mui.zendesk.com/api/v2/ticket_metrics - searchParams: - - name: start_time - value: - $$jsExpression: | - const days = 30 - Math.round(new Date().getTime() / 1000) - 3600 * 24 * days - headers: - - name: Authorization - value: - $$env: ZENDESK - method: GET - transform: > - /* - - const days = 30 - - const minDate = new Date((Math.round(new Date().getTime() / 1000) - - 3600 * 24 * days) * 1000).toISOString(); - - */ - - return data - .ticket_metrics - // .filter((metric) => metric.created_at > minDate); - transformEnabled: true - - name: fetchTicketIds - query: - kind: rest - url: https://mui.zendesk.com/api/v2/tickets/show_many - searchParams: - - name: ids - value: - $$jsExpression: | - parameters.ids - headers: - - name: Authorization - value: - $$env: ZENDESK - method: GET - transform: |- - return data.tickets.reduce((acc, item) => { - acc[item.id] = { - tags: item.tags, - }; - return acc; - }, {}); - transformEnabled: true - parameters: - - name: ids - value: - $$jsExpression: | - metricEvents.rows.map((row) => row.ticket_id).join(",") - alias: - - hr03hdi - displayName: Zendesk first reply + mode: markdown + value: + "This page has moved to the code-infra-dashboard: + [Zendesk first reply](https://code-infra-dashboard.onrender.com/kpis)" diff --git a/apps/tools-public/toolpad/pages/zendeskSatisfactionScore/page.yml b/apps/tools-public/toolpad/pages/zendeskSatisfactionScore/page.yml index dd7bd186f..f7ca32425 100644 --- a/apps/tools-public/toolpad/pages/zendeskSatisfactionScore/page.yml +++ b/apps/tools-public/toolpad/pages/zendeskSatisfactionScore/page.yml @@ -4,57 +4,16 @@ apiVersion: v1 kind: page spec: title: Zendesk satisfaction score + alias: + - xu1r3hzj + displayName: Zendesk satisfaction score content: - - component: codeComponent.HealthBadge - name: codeComponent_HealthBadge - layout: - columnSize: 1 - props: - value: - $$jsExpression: > - Math.round( - (satisfactionRating.data.filter((rating) => rating.score === "good").length / - satisfactionRating.data.length) * - 100 - ) - component: Text name: text layout: columnSize: 1 props: + mode: markdown value: - $$jsExpression: > - `Number of reviews in the last 4 weeks: - ${satisfactionRating.data.length}` - queries: - - name: satisfactionRating - query: - kind: rest - url: https://mui.zendesk.com/api/v2/satisfaction_ratings - searchParams: - - name: start_time - value: - $$jsExpression: > - (() => { - const days = 7 * 4 - return Math.round(new Date().getTime() / 1000) - 3600 * 24 * days - })() - - name: score - value: received - headers: - - name: Authorization - value: - $$env: ZENDESK - method: GET - transform: |- - return Object.values(data.satisfaction_ratings.reduce((acc, item) => { - // only keep the latest - acc[item.ticket_id] = { - score: item.score, - }; - return acc; - }, {})); - transformEnabled: true - alias: - - xu1r3hzj - displayName: Zendesk satisfaction score + "This page has moved to the code-infra-dashboard: + [Zendesk satisfaction score](https://code-infra-dashboard.onrender.com/kpis)"