Add JSON output to rbt review.

Review Request #12673 — Created Oct. 11, 2022 and updated

maubin
RBTools
release-4.x
rbtools

This adds JSON output to the rbt review command. The output contains
information relevant to the review, such as:
- The review ID.
- The review API URL.
- The review URL.
- The review status which can be draft, published, or discarded.
- The review request ID.
- The review request URL.

When a comment subcommand is used, the following comment details are also
included in the output:
- The comment type which can be diff_comment, file_attachment_comment,
or general_comment.
- The comment ID.
- The comment API URL.

During testing, a regression in Review Board 5.0's API was discovered
which broke the reviews URI template on the Root List Resource. This breaks
the command in cases where a new review draft needs to be created. While the
API regression is being tracked and dealt with separately, this change allows
the command to work normally by accessing the reviews through the review
request resource instead of the root since we're fetching the review request
resource anyways in order to include its URL in the output.

An upcoming change will add unit tests for the rbt review command.

Manually tested the command and all of its subcommands.

Summary
Add JSON output to rbt review
maubin
maubin
Review request changed

Summary:

-[WIP] Add JSON output to rbt review.
+Add JSON output to rbt review.

Description:

   

This adds JSON output to the rbt review command. The output contains

    information relevant to the review, such as:
    - The review ID.
    - The review API URL.
    - The review URL.
    - The review status which can be draft, published, or discarded.
    - The review request ID.
    - The review request URL.

   
   

When a comment subcommand is used, the following comment details are also

    included in the output:
    - The comment type which can be diff_comment, file_attachment_comment,
    or general_comment.
    - The comment ID.
    - The comment API URL.

   
~  

During this change, a regression in Review Board 5.0's API was discovered

~   which broke the reviews URI template on the Root List Resource. While this
~   issue is being tracked and dealt with separately, this change avoids
~   accessing the reviews URI template through the root resource, and instead
~   accesses the reviews through the review request resource since we're fetching
~   the review request anyways in order to include its URL in the output.

  ~

During testing, a regression in Review Board 5.0's API was discovered

  ~ which broke the reviews URI template on the Root List Resource. This breaks
  ~ the command in cases where a new review draft needs to be created. While the
  ~ API regression is being tracked and dealt with separately, this change allows
  ~ the command to work normally by accessing the reviews through the review
  ~ request resource instead of the root since we're fetching the review request
  + resource anyways in order to include its URL in the output.

  +
  +

An upcoming change will add unit tests for the rbt review command.

Testing Done:

~  
  • Manually tested the command with all of its subcommands.
  ~

Manually tested the command and all of its subcommands.

-  
  • TODO: Write unit tests for rbt review.

Commits:

Summary
-
Add JSON output to rbt review
+
Add JSON output to rbt review

Diff:

Revision 2 (+84 -24)

Show changes

Checks run (2 succeeded)

flake8 passed.
JSHint passed.
david
  1. Ship It!
  2. 
      
Loading...