release-notes-generator icon indicating copy to clipboard operation
release-notes-generator copied to clipboard

Including entire commit body in release note

Open nhidtran opened this issue 3 years ago • 4 comments

Hello! When the commit below gets analyzed and outputted on the release note, only the commit title is outputted. Is it possible to include the additional commit description/body in the release note?

Screen Shot 2022-04-13 at 8 54 20 PM

release.config.js

const verifyConditions = [
  [
    "@semantic-release/changelog",
    {
      changelogFile: "CHANGELOG.md"
    }
  ],
  [
    "@semantic-release/git",
    {
      assets: ["CHANGELOG.md"]
    }
  ]
];
const analyzeCommits = [
  [
    "@semantic-release/commit-analyzer",
    {
      preset: "angular",
      releaseRules: [
        {
          // e.g.: next upgrade, large refactors, removing large chunks of code
          type: "breaking",
          release: "major"
        },
        {
          // e.g.: next upgrade, large refactors, removing large chunks of code
          type: "BREAKING",
          release: "major"
        },
        {
          // e.g. the new new hottest features
          type: "feat",
          release: "minor"
        },
        {
          // e.g. bugfixes
          type: "fix",
          release: "patch"
        },
        {
          // commits that need to be released outside of the release process
          type: "hotfix",
          release: "patch"
        },
        {
          // commits that need to be released outside of the release process
          type: "HOTFIX",
          release: "patch"
        },
        // you needed to revert a commit on dev or main
        {
          type: "revert",
          release: "patch"
        },
        // added jest or E2E tests
        {
          type: "test",
          release: false
        },
        // e.g. removing code comments
        {
          type: "chore",
          release: false
        },
        // e.g. edits/new markdown files
        {
          type: "docs",
          release: false
        },
        // e.g. feat(no-release): will skip release based off of type
        {
          subject: "no-release:",
          release: false
        }
      ],
      parserOpts: {
        noteKeywords: ["BREAKING CHANGE", "BREAKING CHANGES"]
      }
    }
  ]
];

const generateNotes = [
  [
    "@semantic-release/release-notes-generator",
    {
      preset: "conventionalcommits",
      presetConfig: {
        issuePrefixes: [
          "#",
          "CAR-",
          "GRO-",
        ],
        issueUrlFormat:
          "https://atlassian.net/browse/{{prefix}}{{id}}",
        types: [
          { type: "breaking", section: "❗ Breaking ❗", hidden: false },
          { type: "feat", section: "✨ Feature ✨", hidden: false },
          { type: "fix", section: "🐛 Bugfix 🐛", hidden: false },
          { type: "hotfix", section: "🔥 Hotfix 🔥", hidden: false },
          // !  The following are capitalized to grab attention
          { type: "BREAKING", section: "❗ Breaking ❗", hidden: false },
          { type: "HOTFIX", section: "🔥 Hotfix 🔥", hidden: false }
        ],
        userUrlFormat: "https://github.com/FooBar/{{user}}"
      }
    }
  ]
];
const prepare = [
  "@semantic-release/changelog",
  [
    "@semantic-release/npm",
    {
      // this here is just for package.log update
      npmPublish: false
    }
  ],
  [
    "@semantic-release/git",
    {
      assets: ["package.json", "CHANGELOG.md"],
      message:
        /* eslint-disable no-template-curly-in-string */
        "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
    }
  ]
];
const publish = [["@semantic-release/github"]];

const verifyRelease = [];
const fail = [];
const success = [];
const addChannel = [];

module.exports = {
  repositoryUrl: "https://github.com/Foo/Bar",
  branches: [
    "main",
    {
      name: "next-RC",
      prerelease: false
    }
  ],
  defaultBranch: "main",
  verifyConditions,
  analyzeCommits,
  verifyRelease,
  generateNotes,
  prepare,
  publish,
  fail,
  success,
  addChannel
};

nhidtran avatar Apr 14 '22 00:04 nhidtran

Have you had any luck with this? I'd also love to have my commit bodies included in the changelog.

Xiphe avatar May 31 '23 11:05 Xiphe