changelog_from_git_commits
Collect git commit messages into a changelog
By default, messages will be collected back to the last tag, but the range can be controlled
| changelog_from_git_commits | |
|---|---|
| Supported platforms | ios, android, mac |
| Author | @mfurtak, @asfalcone, @SiarheiFedartsou, @allewun |
| Returns | Returns a String containing your formatted git commits |
2 Examples
changelog_from_git_commits
changelog_from_git_commits(
between: ["7b092b3", "HEAD"], # Optional, lets you specify a revision/tag range between which to collect commit info
pretty: "- (%ae) %s",# Optional, lets you provide a custom format to apply to each commit when generating the changelog text
date_format: "short",# Optional, lets you provide an additional date format to dates within the pretty-formatted string
match_lightweight_tag: false, # Optional, lets you ignore lightweight (non-annotated) tags when searching for the last tag
merge_commit_filtering: "exclude_merges" # Optional, lets you filter out merge commits
)
Parameters
| Key | Description | Default |
|---|---|---|
between |
Array containing two Git revision values between which to collect messages, you mustn't use it with :commits_count key at the same time | |
commits_count |
Number of commits to include in changelog, you mustn't use it with :between key at the same time | |
path |
Path of the git repository | ./ |
pretty |
The format applied to each commit while generating the collected value | %B |
date_format |
The date format applied to each commit while generating the collected value | |
ancestry_path |
Whether or not to use ancestry-path param | false |
tag_match_pattern |
A glob(7) pattern to match against when finding the last git tag | |
match_lightweight_tag |
Whether or not to match a lightweight tag when searching for the last one | true |
quiet |
Whether or not to disable changelog output | false |
include_merges |
DEPRECATED! Use :merge_commit_filtering instead - Whether or not to include any commits that are merges |
|
merge_commit_filtering |
Controls inclusion of merge commits when collecting the changelog. Valid values: 'include_merges', 'exclude_merges', 'only_include_merges' | include_merges |
* = default value is dependent on the user's system
Lane Variables
Actions can communicate with each other using a shared hash lane_context, that can be accessed in other actions, plugins or your lanes: lane_context[SharedValues:XYZ]. The changelog_from_git_commits action generates the following Lane Variables:
| SharedValue | Description |
|---|---|
SharedValues::FL_CHANGELOG |
The changelog string generated from the collected git commit messages |
To get more information check the Lanes documentation.
Documentation
To show the documentation in your terminal, run
fastlane action changelog_from_git_commits
CLI
It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal
fastlane run changelog_from_git_commits
To pass parameters, make use of the : symbol, for example
fastlane run changelog_from_git_commits parameter1:"value1" parameter2:"value2"
It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.
It is recommended to add all fastlane actions you use to your Fastfile.
Source code
This action, just like the rest of fastlane, is fully open source, view the source code on GitHub