diff --git a/plugins/gitea-sync/index.js b/plugins/gitea-sync/index.js index a6aed23..f247a52 100644 --- a/plugins/gitea-sync/index.js +++ b/plugins/gitea-sync/index.js @@ -182,13 +182,25 @@ async function syncRepos(ctx) { const releaseKey = `${repo.fullName}:${release.id}`; if (imported.has(releaseKey)) continue; + const title = `${titleCase(repo.name)} ${release.name}`; + + // check if this changelog already exists in the database + const exists = await ctx.prisma.changelogEntry.findFirst({ + where: { title, boardId: board.id }, + select: { id: true }, + }); + if (exists) { + imported.add(releaseKey); + continue; + } + const body = release.body ? `${release.body}\n\n[View release](${release.htmlUrl})` : `[View release](${release.htmlUrl})`; await ctx.prisma.changelogEntry.create({ data: { - title: `${titleCase(repo.name)} ${release.name}`, + title, body, boardId: board.id, publishedAt: new Date(release.publishedAt),