Helix TeamHub User Guide (2020.1 Enterprise)

Helix TeamHub CLI examples

This section contains examples of how you can manage your repositories using hth-cli.

In this section:

Code Review Management

Code reviews are managed using the hth code-review command. The commands can be run inside your local working directory.

Tip

hth code-review can be shortened to hth cr.

Create a code review

To create a code review for the current branch, use the hth code-review create command:

❯ hth code-review create
? Destination branch master
? Title Add new feature
? Description (optional)
  Creating a code review 'Add new feature' out of the following repository
         backend (new-feature > master) for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli
? Do you want to continue? (y/n) y
✓ Code review created successfully. You can access it at https://my.helixteamhub.com/acme/projects/hth_cli/reviews/1
Tip

You can use flags for further customization like selecting the source reference. For more information on the code review commands, see Code Review and Multi-repo Code Review commands.

List code reviews

To list the open code reviews for your current project, use the hth code-review list command:

❯ hth cr list
  Listing the code reviews for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli.
        !1 Add new feature

Merge a code review

To merge a code review:

  1. Find the code review identifier (number) by, for example, using the hth code-review list command.
  2. Run the hth code-review merge command:
  3. ❯ hth code-review merge 1
      Merging the code review !1 for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli.
    ✓ The code review merged successfully.

  4. That's it, you have now merged the code review!

Multi-Repo Code Review Management

Note

Helix TeamHub only supports Multi-repo code reviews for Helix Git repositories.

When developing software, it is common to have related changes that affect multiple repositories. Helix TeamHub's Multi-Repo Code Review feature allows you to track changes between multiple repositories, and merge the changes as an atomic transaction.

Multi-Repo Code Reviews are managed using the hth multi-repo-code-review command. The commands can be run inside your local working directory.

Tip

hth multi-repo-code-review can be shortened to hth mrcr or hth mcr.

Create a multi-repo code review

To create a multi-repo code review from the references you have currently checked out, run the hth mcr create command in your local working directory:

❯ hth mcr create
? Destination branch of 'backend' repository master
? Destination branch of 'frontend' repository master
? Destination branch of 'infra' repository master
? Title Feature XYZ      
? Description (optional) 
  Creating a multi-repo code review 'Feature XYZ' out of the following repositories for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli
        backend (feature-xyz > master)
        frontend (feature-xyz > master)
        infra (feature-xyz > master)
? Do you want to continue? (y/n) y
✓ Multi-repo code review created successfully. You can access it at https://my.helixteamhub.com/acme/projects/hth_cli/multi-reviews/1
Tip

You can use flags for further customization like selecting a custom set of repositories/sources references. For more information on the multi-repo code review commands, see Code Review and Multi-repo Code Review commands.

List multi-repo code reviews

To list open multi-repo code reviews for the project, use the hth mcr list command in your local working directory:

❯ hth mcr list
  Listing the code reviews for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli.
        %1 Feature XYZ

Merge a multi-repo code review

To merge a multi-repo code review:

  1. Find the code review identifier (number) by, for example, using the hth mcr list command.
  2. Run the hth mcr merge command:
  3. ❯ hth mcr merge 1
      Merging the multi-repo code review %1 for the hth_cli project located at https://my.helixteamhub.com/acme/projects/hth_cli
    ✓ The multi-repo code review merged successfully.

  4. That's it, you have now merged the multi-repo code review!

Run commands across repositories using the "hth each" command

hth-cli enables you to run commands across a set of repositories using the hth each command.

Checkout a new branch

To check out a new branch in Git, prefix the Git branch creation command with hth each:

❯ hth each git checkout -b new-feature
Running the command for backend
Switched to a new branch 'new-feature'
✓ Command succeeded.
Running the command for frontend
Switched to a new branch 'new-feature'
✓ Command succeeded.
Running the command for docs
Switched to a new branch 'new-feature'
✓ Command succeeded.

Add files to multiple repositories

To create a file under each repository, run the following command using hth each:

❯ hth each 'echo "2020.1" > VERSION'

Staging files:

❯ hth each "git add . && git status"
Running the command for backend
On branch new-feature
 
No commits yet
 
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   VERSION

✓ Command succeeded.
Running the command for frontend
On branch new-feature

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   VERSION

✓ Command succeeded.
Running the command for docs
On branch new-feature

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   VERSION

✓ Command succeeded.

Create commits

To create commits using hth each:

❯ hth each "git commit -m 'Update VERSION'"
Running the command for backend
[new-feature (root-commit) 5bc5281] Update VERSION
 1 file changed, 1 insertion(+)
 create mode 100644 VERSION
✓ Command succeeded.
Running the command for frontend
[new-feature (root-commit) 5bc5281] Update VERSION
 1 file changed, 1 insertion(+)
 create mode 100644 VERSION
✓ Command succeeded.
Running the command for docs
[new-feature (root-commit) 5bc5281] Update VERSION
 1 file changed, 1 insertion(+)
 create mode 100644 VERSION
✓ Command succeeded.

Push to remote

To push to remote using hth each:

❯ hth each git push -u origin new-feature
Running the command for backend
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://my.helixteamhub.com/hth_cli/backend
 * [new branch]      new-feature -> new-feature
Branch 'new-feature' set up to track remote branch 'new-feature' from 'origin'.
✓ Command succeeded.
Running the command for frontend
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://my.helixteamhub.com/hth_cli/frontend
 * [new branch]      new-feature -> new-feature
Branch 'new-feature' set up to track remote branch 'new-feature' from 'origin'.
✓ Command succeeded.
Running the command for docs
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://my.helixteamhub.com/hth_cli/docs
 * [new branch]      new-feature -> new-feature
Branch 'new-feature' set up to track remote branch 'new-feature' from 'origin'.
✓ Command succeeded.