Jump to >

Repository List Resource

Provides information on a registered repository.

Review Board has a list of known repositories, which can be modified through the site’s administration interface. These repositories contain the information needed for Review Board to access the files referenced in diffs.

Details

Name repositories
URI /api/repositories/
Token Policy ID repository
HTTP Methods
  • GET - Retrieves the list of repositories on the server.
  • POST - Creates a repository.
Parent Resource Root List Resource
Child Resources
Anonymous Access Yes, if anonymous site access is enabled

HTTP GET

Retrieves the list of repositories on the server.

This will only list visible repositories. Any repository that the administrator has hidden will be excluded from the list.

Request Parameters

counts-onlyBoolean If specified, a single count field is returned with the number of results, instead of the results themselves.
hosting-serviceString

Filter repositories by one or more comma-separated hosting service IDs.

Added in 1.7.21

max-resultsInteger The maximum number of results to return in this list. By default, this is 25. There is a hard limit of 200; if you need more than 200 results, you will need to make more than one request, using the “next” pagination link.
nameString

Filter repositories by one or more comma-separated names.

Added in 1.7.21

name-or-pathString

Filter repositories by one or more comma-separated names, paths, or mirror paths.

Added in 1.7.21

pathString

Filter repositories by one or more comma-separated paths or mirror paths.

Added in 1.7.21

show-invisibleBoolean

Whether to list only visible repositories or all repositories.

Added in 2.0

startInteger The 0-based index of the first result in the list. The start index is usually the previous start index plus the number of previous results. By default, this is 0.
toolString

Filter repositories by one or more comma-separated tool names.

Added in 1.7.21

usernameString

Filter repositories by one or more comma-separated usernames.

Added in 1.7.21

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors

HTTP POST

Creates a repository.

This will create a new repository that can immediately be used for review requests.

The tool is a registered SCMTool ID. This must be known beforehand, and can be looked up in the Review Board administration UI.

Before saving the new repository, the repository will be checked for access. On success, the repository will be created and this will return HTTP 201 Created.

In the event of an access problem (authentication problems, bad/unknown SSH key, or unknown certificate), an error will be returned and the repository information won’t be updated. Pass trust_host=1 to approve bad/unknown SSH keys or certificates.

Request Parameters

nameString Required

The human-readable name of the repository.

Added in 1.6

pathString Required

The path to the repository.

Added in 1.6

toolString Required

The ID of the SCMTool to use.

Added in 1.6

bug_trackerString

The URL to a bug in the bug tracker for this repository, with %s in place of the bug ID.

Added in 1.6

encodingString

The encoding used for files in the repository. This is an advanced setting and should only be used if you absolutely need it.

Added in 1.6

mirror_pathString

An alternate path to the repository.

Added in 1.6

passwordString

The password used to access the repository.

Added in 1.6

publicBoolean

Whether or not review requests on the repository will be publicly accessible by users on the site. The default is true.

Added in 1.6

raw_file_urlString

A URL mask used to check out a particular file using HTTP. This is needed for repository types that can’t access files natively. Use <revision> and <filename> in the URL in place of the revision and filename parts of the path.

Added in 1.6

trust_hostBoolean

Whether or not any unknown host key or certificate should be accepted. The default is false, in which case this will error out if encountering an unknown host key or certificate.

Added in 1.6

usernameString

The username used to access the repository.

Added in 1.6

visibleBoolean

Whether the repository is visible.

Added in 2.0

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors
210 - Repository Information ErrorHTTP 500 - Internal Server Error There was an error fetching extended information for this repository.
213 - Server Configuration ErrorHTTP 500 - Internal Server Error There was an error storing configuration on the server.
214 - Bad Host KeyHTTP 403 - Forbidden The SSH key on the host does ot match the stored key.
215 - Unverified Host KeyHTTP 403 - Forbidden The SSH key on the host is unverified.
216 - Unverified Host CertificateHTTP 403 - Forbidden The HTTPS certificate on the host is unverified.
218 - Repository Authentication ErrorHTTP 403 - Forbidden Unable to authenticate with the repository using the provided credentials.
HTTP 409 - Conflict A repository with this name already exists.

Examples

application/vnd.reviewboard.org.repositories+json

$ curl http://reviews.example.com/api/repositories/ -H "Accept: application/json"
Vary: Accept, Cookie
Item-Content-Type: application/vnd.reviewboard.org.repository+json
Content-Type: application/vnd.reviewboard.org.repositories+json
X-Content-Type-Options: nosniff
{
  "links": {
    "create": {
      "href": "http://reviews.example.com/api/repositories/", 
      "method": "POST"
    }, 
    "self": {
      "href": "http://reviews.example.com/api/repositories/", 
      "method": "GET"
    }
  }, 
  "repositories": [
    {
      "bug_tracker": "http://code.google.com/p/reviewboard/issues/detail?id=%s", 
      "id": 1, 
      "links": {
        "branches": {
          "href": "http://reviews.example.com/api/repositories/1/branches/", 
          "method": "GET"
        }, 
        "commits": {
          "href": "http://reviews.example.com/api/repositories/1/commits/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "DELETE"
        }, 
        "diff_file_attachments": {
          "href": "http://reviews.example.com/api/repositories/1/diff-file-attachments/", 
          "method": "GET"
        }, 
        "info": {
          "href": "http://reviews.example.com/api/repositories/1/info/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "PUT"
        }
      }, 
      "mirror_path": "", 
      "name": "Review Board SVN", 
      "path": "https://svn.riouxsvn.com/reviewboard/", 
      "tool": "Subversion", 
      "visible": true
    }, 
    {
      "bug_tracker": "", 
      "id": 2, 
      "links": {
        "branches": {
          "href": "http://reviews.example.com/api/repositories/2/branches/", 
          "method": "GET"
        }, 
        "commits": {
          "href": "http://reviews.example.com/api/repositories/2/commits/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/repositories/2/", 
          "method": "DELETE"
        }, 
        "diff_file_attachments": {
          "href": "http://reviews.example.com/api/repositories/2/diff-file-attachments/", 
          "method": "GET"
        }, 
        "info": {
          "href": "http://reviews.example.com/api/repositories/2/info/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/repositories/2/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/repositories/2/", 
          "method": "PUT"
        }
      }, 
      "mirror_path": "", 
      "name": "Navi SVN", 
      "path": "http://svn.navi.cx/misc", 
      "tool": "Subversion", 
      "visible": true
    }
  ], 
  "stat": "ok", 
  "total_results": 2
}