Generating a changelog

sfp's release command will automate generating a change log that will help the team to understand what are the constituent work items/commits that are part of the release and which artifacts where impacted and what was installed

Here is an example of the changelog that is generated by sfp

The changelog is available as both as a markdown file and also as an associated json file that has the all the necessary information to render the change log accordingly for instance in a different tool

One can instruct the release command to generate the changelog by utilizing the below flags

  -b, --branchname=<value>            Repository branch in which the changelog files are located
  --generatechangelog                 Create a release changelog

For eg in the below release command, the release command looks for exisiting releasechangelog.json to understand the previous release deployed in the environment and it would append the changelog information to both releasechangelog.json and file

sfp release -u prod \
            -p  releasedefn.yaml \
            --npm --scope flxbl \
            -v prod \
             --generatechangelog --branchname changelog

Additional attributes to control changelog links for instance are available in the release definition

Identifying work items

Change log displays work item by identify attributes in commit message using a simple regex pattern as provided in the workItemFilters section of your release definition. For instance, given a commit message with the following message , the work item BE-1836 is identified by the work item filter BE-[0-9]{2,5}`

fix/BE-1836: ⚡ added Config changes for Field type changes (#1629)
* fix: ⚡ added Config changes for Field type changes

sfp will identify the part BE-1836 and add a URL link to your work item tracking system by using the provided workItemUrl attribute

Generating changelog individually

sfp also has standalone commands to generate changelog to create changelog out of bound of the normal release command . One can use the changelog generate command for eg:

 sfp changelog generate -b releasedefns \
                        -d artifacts \
                        -w "( \
                        -r "" \
                        -n Release-1 \
                       --directory changelog

Last updated