pr-comments
posts comments on PR across various hosted repos like azure repos, bitbucket etc.
<!-- install -->
<!-- usage -->
$ npm install -g @slalom-salesforce/pr-comments
$ sfdx COMMAND
running command...
$ sfdx (--version)
@slalom-salesforce/pr-comments/0.1.2 darwin-x64 node-v16.17.0
$ sfdx --help [COMMAND]
USAGE
$ sfdx COMMAND
...
sfdx azure:postcomments -t <string> -o <string> -p <string> -r <string> -i <number> -d <directory> -F <filepath> -g <directory> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx bitbucket:postcomments -N <string> -t <string> -w <string> -r <string> -i <string> -d <directory> -g <directory> -F <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx github:postcomments -t <string> -w <string> -r <string> -i <number> -d <directory> -g <directory> -F <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
sfdx azure:postcomments -t <string> -o <string> -p <string> -r <string> -i <number> -d <directory> -F <filepath> -g <directory> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
This helps post code review comments from a JSON file to azure repo pull request.
USAGE
$ sfdx azure:postcomments -t <string> -o <string> -p <string> -r <string> -i <number> -d <directory> -F <filepath> -g
<directory> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-F, --reviewresultjsonfile=<value> (required) Path to file where code
review results are stored in JSON
format
-d, --foldernamefordiff=<value> (required) Name of the folder where
diff files will be stored
-g, --gitfoldername=<value> (required) Path to base project
folder where git is initialized
-i, --azureprid=<value> (required) Pull request id to post
the comments to
-o, --azureorgname=<value> (required) Name of Azure
Organization where the project
resides
-p, --azureprojectname=<value> (required) Name of Azure Project
where the repo resides
-r, --azurereponame=<value> (required) Name of Azure Repo where
the PR is being raised
-t, --authtoken=<value> (required) Azure Devops personal
access token used to authenicate to
repo, ensure this token has write /
post permission of repo
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
This helps post code review comments from a JSON file to azure repo pull request.
EXAMPLES
$ sfdx azure:postcomments --authtoken asdasczxccxc --azureorgname 'organization-name' --azureprojectname 'ProjectName' --azurereponame 'RepoName' --foldernamefordiff '/path/to/diff/folder/' --gitfoldername '/path/to/git/folder' --reviewresultjsonfile '/path/to/code/review/comment/output/in/json/from/sfdx/scanner/staticCodeAnalyzerResults.json' --azureprid 1
$ sfdx azure:postcomments -t 'asdasczxccxc' -o 'organization-name' -p 'ProjectName' -r 'RepoName' -d '/path/to/diff/folder/' -g '/path/to/git/folder' -F '/path/to/code/review/comment/output/in/json/from/sfdx/scanner/staticCodeAnalyzerResults.json' -i 1
See code: src/commands/azure/postcomments.ts
sfdx bitbucket:postcomments -N <string> -t <string> -w <string> -r <string> -i <string> -d <directory> -g <directory> -F <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
This helps post code review comments from a JSON file to bitbucket pull request.
USAGE
$ sfdx bitbucket:postcomments -N <string> -t <string> -w <string> -r <string> -i <string> -d <directory> -g <directory> -F
<filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-F, --reviewresultjsonfile=<value> (required) Path to file where code
review results are stored in JSON
format
-N, --username=<value> (required) Bitbucket username used
to authenicate to repo
-d, --foldernamefordiff=<value> (required) Path of the folder where
diff files will be stored
-g, --gitfoldername=<value> (required) Path to base project
folder where git is initialized
-i, --bitbucketprid=<value> (required) Pull request id to post
the comments to
-r, --bitbucketreposlug=<value> (required) Name of Bitbucket repo
slug where the PR is being raised
-t, --authtoken=<value> (required) Bitbucket personal access
token used to authenicate to repo,
ensure this token has write / post
permission of repo
-w, --bitbucketworkspace=<value> (required) Name of Bitbucket
workspace where the repo resides
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
This helps post code review comments from a JSON file to bitbucket pull request.
EXAMPLES
$ sfdx bitbucket:postcomments --username 'ci_user' --authtoken 'mybitbucketpersonaltoken' --bitbucketworkspace 'slalom' --bitbucketreposlug 'sfdx_poc' --bitbucketprid 1 --foldernamefordiff './srcDiff' --reviewresultjsonfile './codereviewvoilations.json' --gitfoldername './'
$ sfdx bitbucket:postcomments -N 'ci_user' -t 'mybitbucketpersonaltoken' -w 'slalom' -r 'sfdx_poc' -i 1 -d './srcDiff' -F './codereviewvoilations.json -g './'
See code: src/commands/bitbucket/postcomments.ts
sfdx github:postcomments -t <string> -w <string> -r <string> -i <number> -d <directory> -g <directory> -F <filepath> [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
This helps post code review comments from a JSON file to Github pull request.
USAGE
$ sfdx github:postcomments -t <string> -w <string> -r <string> -i <number> -d <directory> -g <directory> -F <filepath>
[--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-F, --reviewresultjsonfile=<value> (required) Path to file where code
review results are stored in JSON
format
-d, --foldernamefordiff=<value> (required) Name of the folder where
diff files will be stored
-g, --gitfoldername=<value> (required) Path to base project
folder where git is initialized
-i, --githubprid=<value> (required) Pull request id to post
the comments to
-r, --githubreposlug=<value> (required) Name of Github repo slug
where the PR is being raised
-t, --authtoken=<value> (required) Github personal access
token used to authenicate to repo,
ensure this token has write / post
permission of repo
-w, --githubrepoowner=<value> (required) Name of account owner of
the Github repository. (The name is
not case sensitive).
--json format output as json
--loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL) [default: warn] logging level for
this command invocation
DESCRIPTION
This helps post code review comments from a JSON file to Github pull request.
EXAMPLES
$ sfdx github:postcomments --username 'ci_user' --authtoken 'mygithubpersonaltoken' --githubworkspace 'slalom' --githubreposlug 'sfdx_poc' --githubprid 1 --foldernamefordiff './srcDiff' --reviewresultjsonfile './codereviewvoilations.json'
$ sfdx github:postcomments -N 'ci_user' -t 'mygithubpersonaltoken' -w 'slalom' -r 'sfdx_poc' -i 1 -d './srcDiff' -F './codereviewvoilations.json'
See code: src/commands/github/postcomments.ts
Debugging your plugin
We recommend using the Visual Studio Code (VS Code) IDE for your plugin development. Included in the .vscode
directory of this plugin is a launch.json
config file, which allows you to attach a debugger to the node process when running your commands.
To debug the hello:org
command:
- Start the inspector
If you linked your plugin to the sfdx cli, call your command with the dev-suspend
switch:
$ sfdx hello:org -u myOrg@example.com --dev-suspend
Alternatively, to call your command using the bin/run
script, set the NODE_OPTIONS
environment variable to --inspect-brk
when starting the debugger:
$ NODE_OPTIONS=--inspect-brk bin/run hello:org -u myOrg@example.com
- Set some breakpoints in your command code
- Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
- In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
- Hit the green play button to the left of the "Attach to Remote" launch configuration window. The debugger should now be suspended on the first line of the program.
- Hit the green play button at the top middle of VS Code (this play button will be to the right of the play button that you clicked in step #5).
Congrats, you are debugging!