* fix gitlab widget showing incorrect count of issues and merges
This commit is contained in:
parent
defa1ded7f
commit
4adf24dfa9
@ -9,12 +9,14 @@ export default function Component({ service }) {
|
|||||||
const { widget } = service;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: gitlabEvents, error: gitlabEventsError } = useWidgetAPI(widget, "events");
|
const { data: gitlabEvents, error: gitlabEventsError } = useWidgetAPI(widget, "events");
|
||||||
|
const { data: gitlabIssues, error: gitlabIssuesError } = useWidgetAPI(widget, "issues");
|
||||||
|
const { data: gitlabMerges, error: gitlabMergesError } = useWidgetAPI(widget, "merges");
|
||||||
|
|
||||||
if (gitlabEventsError) {
|
if (gitlabEventsError || gitlabIssuesError || gitlabMergesError) {
|
||||||
return <Container service={service} error={gitlabEvents} />;
|
return <Container service={service} error={gitlabEventsError ?? gitlabIssuesError ?? gitlabMergesError} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gitlabEvents) {
|
if (!gitlabEvents || !gitlabIssues || !gitlabMerges) {
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="gitlab.events" />
|
<Block label="gitlab.events" />
|
||||||
@ -24,14 +26,11 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const openIssues = gitlabEvents.issues.filter((event) => event.action_name.toLowerCase() === "opened").length;
|
|
||||||
const openMerges = gitlabEvents.merges.filter((event) => event.action_name.toLowerCase() === "opened").length;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="gitlab.events" value={t("common.number", { value: gitlabEvents.events })} />
|
<Block label="gitlab.events" value={t("common.number", { value: gitlabEvents.count })} />
|
||||||
<Block label="gitlab.issues" value={t("common.number", { value: openIssues })} />
|
<Block label="gitlab.issues" value={t("common.number", { value: gitlabIssues.count })} />
|
||||||
<Block label="gitlab.merges" value={t("common.number", { value: openMerges })} />
|
<Block label="gitlab.merges" value={t("common.number", { value: gitlabMerges.count })} />
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,9 +8,19 @@ const widget = {
|
|||||||
events: {
|
events: {
|
||||||
endpoint: "events",
|
endpoint: "events",
|
||||||
map: (data) => ({
|
map: (data) => ({
|
||||||
merges: asJson(data).filter((event) => event.target_type?.toLowerCase() === "merge_request"),
|
count: asJson(data).length,
|
||||||
issues: asJson(data).filter((event) => event.target_type?.toLowerCase() === "issue"),
|
}),
|
||||||
events: asJson(data).length,
|
},
|
||||||
|
issues: {
|
||||||
|
endpoint: "issues?state=opened",
|
||||||
|
map: (data) => ({
|
||||||
|
count: asJson(data).length,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
merges: {
|
||||||
|
endpoint: "merge_requests?state=opened",
|
||||||
|
map: (data) => ({
|
||||||
|
count: asJson(data).length,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user