oasdiff icon indicating copy to clipboard operation
oasdiff copied to clipboard

Add markdown as an output format for when creating a change log

Open bdoughan-snow opened this issue 2 years ago • 2 comments

Is your feature request related to a problem? Please describe.

I am looking for a way to maintain a living change log listing all the changes since the last release. I like to easily be able to view this within GitHub as markdown.

Describe the solution you'd like

I would like to be able to make the following call and have markdown produced:

oasdiff changelog data/openapi-test1.yaml data/openapi-test3.yaml -f markdown

Describe alternatives you've considered

As a workaround the text output format could be used.

Additional context

Ideally this could be used in conjunction with the oasdiff-action GitHub action and the resulting markdown checked into the repo.

bdoughan-snow avatar Jan 26 '24 18:01 bdoughan-snow

Hi @bdoughan-snow, Did you try the githubactions format?

oasdiff breaking data/openapi-test1.yaml data/openapi-test3.yaml -f githubactions

It is designed to create a summary in Github actions. We could support this for changelog too. Does this solve your requirement?

reuvenharrison avatar Feb 05 '24 20:02 reuvenharrison

Hi @reuvenharrison

It does not appear so. I tried the following command: oasdiff breaking .\examples\pet-store.yaml .\examples\pet-store.json -f githubactions > foo.md

When I looked at foo.md in GitHub, it looks like the following: githubactionsformat

bdoughan-snow avatar Feb 21 '24 13:02 bdoughan-snow

How about something like this?

API Changelog 1.0.0 vs. 1.0.1

GET /api/{domain}/{project}/badges/security-score

  • :warning: removed the success response with the status '200'
  • :exclamation: removed the success response with the status '201'
  • :heavy_exclamation_mark: deleted the 'cookie' request parameter 'test'
  • :grey_exclamation: deleted the 'header' request parameter 'user'
  • deleted the 'query' request parameter 'filter'
  • api operation id 'GetSecurityScores' removed and replaced with 'GetSecurityScore'

GET /api/{domain}/{project}/install-command

  • deleted the 'header' request parameter 'network-policies'
  • added the new optional 'header' request parameter 'name' to all path's operations
  • added the new enum value 'test1' to the 'path' request parameter 'project'

reuvenharrison avatar Jul 21 '24 10:07 reuvenharrison