GitHub Tag Message Markdown

You could try and use the GitHub CLI gh (after installation, and login), and its gh release create command in order to pass a markdown file as release notes.

gh release create v1.2.3 -F changelog.md

That would do it all: tag, message tag, release notes and publication of said release to GitHub.
Right from your local workstation/repository.


@VonC, that is good where gh is available, however, I'm in an environment where it's not... as such, I created the following bash script using the api. (clearly all below $vars need to be either defined or substituted for working example)

COMMIT_BODY can be markdown (e.g. COMMIT_BODY="**This is markdow**")

res=`curl --user "$USERNAME:$TOKEN" -X POST https://api.github.com/repos/${ORGANIZATION}/${REPO}/releases \
-d "
{
\"tag_name\": \"$VERSION\",
\"target_commitish\": \"$BRANCH\",
\"name\": \"$VERSION\",
\"body\": \"$COMMIT_BODY\",
\"draft\": false,
\"prerelease\": false
}"`