Hi Daniel,
We have a tool that simplifies this workflow called RBTools. RBTools is a python command + API library for interacting with Review Board. For example, you can post a review request to RB from your repository by doing `rbt post`, which will post anything in `master..HEAD` (assuming a Git repository).
It also provides a API for interacting with the Review Board webAPI. A script to create a post commit review request might look something like:
```
from rbtools.api.client import RBClient
# If you dont provide the API token, it will prompt you for a username + password
api_root = client.get_root(api_token='abc123')
review_requests = api_root.get_review_requests()
review_request = review_requests.create(
commit_id='abc123',
create_from_commit_id=True)
print('Posted at: ', review_request.url)
```
As for creating post-commit review requests, you will need to send `-d create_from_commit_id=1` with your request to make Review Board fill everything in. By default, the `commit_id` field is just for storing the commit ID that was uploaded. When combined with `create_from_commit_id`, it will retrieve the change + description from your SCM.
Hope this helps!
Regards,
Barret