diff --git a/rbtools/commands/land.py b/rbtools/commands/land.py
index e4d71173a047dda5d54333f30d5ef67dc0e986c1..13859fbd380a219824214c965d9ba67719c427f1 100644
--- a/rbtools/commands/land.py
+++ b/rbtools/commands/land.py
@@ -226,9 +226,15 @@ class Land(Command):
             if squash:
                 self.stdout.write('Squashing branch "%s" into "%s".'
                                   % (source_branch, destination_branch))
+                self.json.add('source_branch', source_branch)
+                self.json.add('destination_branch', destination_branch)
+                self.json.add('type', 'squash')
             else:
                 self.stdout.write('Merging branch "%s" into "%s".'
                                   % (source_branch, destination_branch))
+                self.json.add('source_branch', source_branch)
+                self.json.add('destination_branch', destination_branch)
+                self.json.add('type', 'merge')
 
             if not dry_run:
                 try:
@@ -244,6 +250,7 @@ class Land(Command):
         else:
             self.stdout.write('Applying patch from review request %s.'
                               % review_request.id)
+            self.json.add('review_request', review_request.id)
 
             if not dry_run:
                 self.patch(review_request.id,
@@ -252,6 +259,8 @@ class Land(Command):
         self.stdout.write('Review request %s has landed on "%s".'
                           % (review_request.id,
                              self.options.destination_branch))
+        self.json.add('review_request', review_request.id)
+        self.json.add('destination_branch', self.options.destination_branch)
 
     def main(self, branch_name=None, *args):
         """Run the command."""
@@ -366,6 +375,7 @@ class Land(Command):
                 self.stdout.write('Recursively landing dependencies of '
                                   'review request %s.'
                                   % review_request_id)
+                self.json.add('review_request', review_request.id)
 
                 for dependency in dependencies:
                     land_error = self.can_land(dependency)
@@ -386,6 +396,8 @@ class Land(Command):
         if self.options.push:
             self.stdout.write('Pushing branch "%s" upstream'
                               % self.options.destination_branch)
+            self.json.add('destination_branch',
+                          self.options.destination_branch)
 
             if not self.options.dry_run:
                 try:
