Jump to >

Repository 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 repository
URI /api/repositories/{repository_id}/
Token Policy ID repository
HTTP Methods
  • DELETE - Deletes a repository.
  • GET - Retrieves information on a particular repository.
  • PUT - Updates a repository.
Parent Resource Repository List Resource
Child Resources
Anonymous Access Yes, if anonymous site access is enabled

Fields

bug_trackerString

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

Added in 2.5

idInteger The numeric ID of the repository.
mirror_pathString

An alternate path to the repository, for lookup purposes.

Added in 1.7.19

nameString The name of the repository.
pathString The main path to the repository, which is used for communicating with the repository and accessing files.
toolString The name of the internal repository communication class used to talk to the repository. This is generally the type of the repository.
visibleBoolean

Whether or not this repository is visible (admin only).

Added in 2.0

HTTP DELETE

Deletes a repository.

Repositories associated with review requests won’t be fully deleted from the database. Instead, they’ll be archived, removing them from any lists of repositories but freeing up their name for use in a future repository.

Changed in version 3.0.12: Previous releases simply marked a repository as invisible when deleting. Starting in 3.0.12, the repository is archived instead.

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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

HTTP GET

Retrieves information on a particular repository.

This will only return basic information on the repository. Authentication information, hosting details, and repository-specific information are not provided.

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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

HTTP PUT

Updates a repository.

This will update the information on a repository. If the path, username, or password has changed, Review Board will try again to verify access to the repository.

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

archive_nameBoolean Deprecated

Whether or not the (non-user-visible) name of the repository should be changed so that it (probably) won’t conflict with any future repository names. Starting in 3.0.12, performing a DELETE will archive the repository, and is the preferred method.

Added in 1.6.2

Deprecated in 3.0.12

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

nameString

The human-readable name of the repository.

Added in 1.6

passwordString

The password used to access the repository.

Added in 1.6

pathString

The path to 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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.
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.

Examples

application/vnd.reviewboard.org.repository+json

$ curl http://reviews.example.com/api1/ -H "Accept: application/json"
Vary: Accept, Cookie
ETag: 525dfa04ca099b5d3711275403432dab5f0d44aa
Content-Type: application/vnd.reviewboard.org.repository+json
X-Content-Type-Options: nosniff
{
  "repository": {
    "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
  }, 
  "stat": "ok"
}