npm package: @slalom-salesforce/pr-comments
Description: posts comments on PR across various hosted repos like azure repos, bitbucket etc.
Author: Fayas Mansoor @fayas-mansoor-slalom
Latest version: 0.1.2

# pr-comments

posts comments on PR across various hosted repos like azure repos, bitbucket etc.

[![Version](https://img.shields.io/npm/v/pr-comments.svg)](https://npmjs.org/package/pr-comments)
[![CircleCI](https://circleci.com/gh/forcebewithyou/pr-comments/tree/master.svg?style=shield)](https://circleci.com/gh/forcebewithyou/pr-comments/tree/master)
[![Appveyor CI](https://ci.appveyor.com/api/projects/status/github/forcebewithyou/pr-comments?branch=master&svg=true)](https://ci.appveyor.com/project/heroku/pr-comments/branch/master)
[![Greenkeeper](https://badges.greenkeeper.io/forcebewithyou/pr-comments.svg)](https://greenkeeper.io/)
[![Known Vulnerabilities](https://snyk.io/test/github/forcebewithyou/pr-comments/badge.svg)](https://snyk.io/test/github/forcebewithyou/pr-comments)
[![Downloads/week](https://img.shields.io/npm/dw/pr-comments.svg)](https://npmjs.org/package/pr-comments)
[![License](https://img.shields.io/npm/l/pr-comments.svg)](https://github.com/forcebewithyou/pr-comments/blob/master/package.json)

<!-- toc -->
* [pr-comments](#pr-comments)
* [Debugging your plugin](#debugging-your-plugin)
<!-- tocstop -->
    <!-- install -->
    <!-- usage -->
```sh-session
$ 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
...
```
<!-- usagestop -->
<!-- commands -->
* [`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-azurepostcomments--t-string--o-string--p-string--r-string--i-number--d-directory--f-filepath--g-directory---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`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-bitbucketpostcomments--n-string--t-string--w-string--r-string--i-string--d-directory--g-directory--f-filepath---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)
* [`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-githubpostcomments--t-string--w-string--r-string--i-number--d-directory--g-directory--f-filepath---json---loglevel-tracedebuginfowarnerrorfataltracedebuginfowarnerrorfatal)

## `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](https://github.com/fayas-mansoor-slalom/pr-comments/blob/v0.1.2/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](https://github.com/fayas-mansoor-slalom/pr-comments/blob/v0.1.2/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](https://github.com/fayas-mansoor-slalom/pr-comments/blob/v0.1.2/src/commands/github/postcomments.ts)_
<!-- commandsstop -->
<!-- debugging-your-plugin -->

# 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:

1. Start the inspector

If you linked your plugin to the sfdx cli, call your command with the `dev-suspend` switch:

```sh-session
$ 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:

```sh-session
$ NODE_OPTIONS=--inspect-brk bin/run hello:org -u myOrg@example.com
```

2. Set some breakpoints in your command code
3. Click on the Debug icon in the Activity Bar on the side of VS Code to open up the Debug view.
4. In the upper left hand corner of VS Code, verify that the "Attach to Remote" launch configuration has been chosen.
5. 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.
6. 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).
   <br><img src=".images/vscodeScreenshot.png" width="480" height="278"><br>
   Congrats, you are debugging!