Repost changelogs to your static site generator git repository
It can generate json, markdown, and asciidoctor files.
releasepost relies on a configuration file to identify what release to monitor and where to repost it. The configuration file uses the YAML format and accepts the following parameters:
name
defines the changelog name to monitor. It is used to identify a changelog configuration among differentts ones.dir
defines the directory where to mirror the release notekind
defines the kind of changelog to mirror, for examplegithub
formats
defines a list of format parameters for the mirrored changelog.spec
defines specific parameters to a kind of mirror.
The following example can be used for a HUGO website
Command
export GITHUB_TOKEN=<insert read-only token>
releasepost --config .releaserepost.yaml
Configuration
.releaserepost.yaml
changelogs:
- kind: github
dir: content/en/docs/changelogs/updatecli
formats:
- extension: asciidoc
indexfilename: _index
- extension: json
indexfilename: _index
spec:
owner: updatecli
repository: udash
GitHub integration requires a read-only personal access token. The token must have enough permission to read release information.
changelogs:
- kind: github
spec:
# Define the GitHub owner
owner: updatecli
# Define the GitHub repository
repository: updatecli
# Define the release type to retrieve
typefilter:
draft: false
prerelease: false
release: true
latest: true
# Define the GitHub url
url: https://github.com
# Define the username used to authenticate
username: john
# Define the token used to authenticate
token: xxx
The following environment variables will be used as a fallback
GITHUB_REPOSITORY
used to set owner and repositoryGITHUB_TOKEN
used to set the tokenGITHUB_URL
used to set the GitHub urlGITHUB_ACTOR
used to set the GitHub username
Releasepost is designed to work with Updatecli where releasepost is responsible to generate the correct files based on third changelogs and Updatecli to automate the process of publishing them to a git repository.
It can be used with one of the two Updatecli policy:
Used by the Updatecli project to publish all release notes on updatecli.io
Used by the Rancher Fleet project to publish all releast note associated to a MAJOR.MINOR version - rancher.fleet.io
As a community-oriented project, all contributions are greatly appreciated!
Here is a non-exhaustive list of possible contributions:
- ⭐️ this repository.
- Propose a new feature request.
- Highlight an existing feature request with 👍.
- Contribute to any repository in the updatecli organization
- Share the love
Can releasepost generate changelog?
No, there are already great tools for doing that.
-
Release Drafter can automatically generate the next changelogs based on pullrequest labels. If the generated changelog is wrong, you can still update labels on already merged pullrequest and then retrigger release drafter to update the the generated changelog.
-
Conventional Changelog can automatically generate the next changelogs based on commit following conventional commit. If the generated changelog is wrong, you can still modify your git history...
-
Changie is another great tool to generate changelog
The purpose of releasepost is to retrieve already published changelogs and to republish them, for example on a project website.
Why using _index instead of index on HUGO project?