From 0afe64b6cf4c0122af9def5fac7525995de22eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Voto=C4=8Dek?= Date: Wed, 22 Jan 2020 13:16:55 +0100 Subject: [PATCH] add link to list of commits --- app/lib/changelog.js | 5 ++++- app/lib/compare.js | 10 ++++++++++ app/lib/generator.js | 4 +++- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 app/lib/compare.js diff --git a/app/lib/changelog.js b/app/lib/changelog.js index 0e2d970..d1436c3 100644 --- a/app/lib/changelog.js +++ b/app/lib/changelog.js @@ -20,7 +20,7 @@ const LABEL_CONFIG = [ { name: "bug", title: "Fixed bugs" } ]; -exports.generateChangeLogContent = async ({ releaseDate, issues, mergeRequests }, options = {}) => { +exports.generateChangeLogContent = async ({ releaseDate, issues, mergeRequests, compare }, options = {}) => { // Separate by labels let changelogBucket = exports._createLabelBucket(); @@ -52,6 +52,9 @@ exports.generateChangeLogContent = async ({ releaseDate, issues, mergeRequests } } } } + if (!_.isEmpty(compare)) { + changelogContent += `\n[${compare.text}](${compare.url})\n`; + } return changelogContent; } }; diff --git a/app/lib/compare.js b/app/lib/compare.js new file mode 100644 index 0000000..f845686 --- /dev/null +++ b/app/lib/compare.js @@ -0,0 +1,10 @@ +const Gitlab = require("../adapters/gitlab"); + +exports.getCompareForLatestAndSecondLatestTag = async (projectId, latestTag, secondLatestTag) => { + const repository = await Gitlab.getRepoByProjectId(projectId); + + return { + text: `List of commits ${secondLatestTag.name}...${latestTag.name}`, + url: `${repository.web_url}/compare/${secondLatestTag.name}...${latestTag.name}`, + }; +}; \ No newline at end of file diff --git a/app/lib/generator.js b/app/lib/generator.js index 8ecb3f5..e943690 100644 --- a/app/lib/generator.js +++ b/app/lib/generator.js @@ -1,4 +1,5 @@ const _ = require("lodash"); +const CompareLib = require("./compare"); const IssueLib = require("./issue"); const MergeRequestLib = require("./mergeRequest"); const TagLib = require("./tag"); @@ -25,8 +26,9 @@ exports.generate = async () => { Logger.debug(`New End Date: ${endDate}`); } + const compare = await CompareLib.getCompareForLatestAndSecondLatestTag(Env.GITLAB_PROJECT_ID, latestTag, secondLatestTag); const changeLog = await ChangelogLib.getChangelogByStartAndEndDate(startDate, endDate); - const changeLogContent = await ChangelogLib.generateChangeLogContent(changeLog, {useSlack: false}); + const changeLogContent = await ChangelogLib.generateChangeLogContent({...changeLog, compare}, {useSlack: false}); Logger.debug(`Changelog: ${changeLogContent}`); return await TagLib.upsertTagDescriptionByProjectIdAndTag(Env.GITLAB_PROJECT_ID, latestTag, changeLogContent); };