@decathlon/newman-reporter-pullrequest-decorator
v0.0.25
Published
Newman reporter allowing to decorate Github's PullRequest with postman collection results
Downloads
183
Readme
newman-reporter-pullrequest-decorator
Description
Report newman collection results on an extra check in the Pull Request Checks tab. If you need a way to export your Postman collection results into Github Pull Request, and you're using github workflow to handle your CI then you're in the right place !
PullRequest's Check example :
HIGHLIGHTED FEATURES
- Handle deep nested postman folder structure
- Group requests by their folder's name in the generated markdown
Getting Started
- Install
newman
- Install
@decathlon/newman-reporter-pullrequest-decorator
- Run your github workflow and extract from it :
- GITHUB TOKEN from your running job. Usually, you can get it from ${{ secrets.GITHUB_TOKEN }}.
Prerequisites
node
andnpm
newman
-npm install -g newman
- A github token either from :
- your running github workflow provided as a secret (see above)
- your own specific Github App (see Notes what issue this option solves)
Installation
npm install -g @decathlon/newman-reporter-pullrequest-decorator
Installation should be done globally if newman is installed globally, otherwise install without
-g
option
Usage
Specify -r @decathlon/pullrequest-decorator
option while running the collection
In non export mode (it means you actually want to update github pull request) :
newman run <collection-url> --environment=<env-url> -r @decathlon/pullrequest-decorator \
--reporter-pullrequest-decorator-repo <repo> \
--reporter-pullrequest-decorator-token <github-token> \
--reporter-pullrequest-decorator-checkname <check-name> \
--reporter-pullrequest-decorator-refcommit <ref-commit>
In export mode :
newman run <collection-url> --environment=<env-url> -r @decathlon/pullrequest-decorator \
--reporter-export <export-path>
Options:
Option | Remarks
--- | ---
--reporter-pullrequest-decorator-repo
| (Required) Usually you can get it from ${{ github.repository }}. It follows this pattern : "organization/repository"
--reporter-pullrequest-decorator-token
| (Required) Github token : Usually you can get it from ${{ secrets.GITHUB_TOKEN }} while job is running. For more details : https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret
--reporter-pullrequest-decorator-checkname
| (Optional : Default newman-check
) Name you want to give to the check name that will be created by the reporter. This parameter is useful if you want to wait for a specific check name to be completed inside your workflow. See, for example, the following github action : fountainhead/[email protected]
--reporter-pullrequest-decorator-refcommit
| (Required) Long Commit hash. When you run this reporter from a Pull Request. You should use : ${{ github.event.pull_request.head.sha }}
--reporter-debug
| (Optional : Default false
) Reporter debug mode
--suppress-exit-code
| (Optional) Ensure that asynchronous github API is called before reporter termination.
--showOnlyFails
| (Optional : Default false
) Show only failing assertions.
--reporter-pullrequest-decorator-enablecomment
| (Optional) Boolean. Allows you to get a comment in your pull request containing the summary of the test result.
Notes:
PullRequest's check report can appear on the wrong check suite. This is due to a known github limitation. See here : https://github.community/t/specify-check-suite-when-creating-a-checkrun/118380
To solve this issue, you can use a token from your own created Github App (and not the one used in the github workflow) so this way, the check run will be automatically created on a specific check suite.
Development
npm pack
npm i -g decathlon-newman-reporter-pullrequest-decorator.<version>.tgz