James Moger
2013-11-21 7bf6e183ff8abd0c35eeb29f399da12389562ecb
src/site/rpc.mkd
@@ -58,6 +58,7 @@
## JSON Remote Procedure Call (RPC) Interface
### RPC Protocol Versions
<table class="table">
<tbody>
<tr><th>Release</th><th>Protocol Version</th></tr>
@@ -66,6 +67,7 @@
<tr><td>Gitblit v0.9.0 - v1.0.0</td><td>3</td></tr>
<tr><td>Gitblit v1.1.0</td><td>4</td></tr>
<tr><td>Gitblit v1.2.0+</td><td>5</td></tr>
<tr><td>Gitblit v1.3.1+</td><td>6</td></tr>
</tbody>
</table>
@@ -77,6 +79,7 @@
Use *SET_REPOSITORY_TEAM_PERMISSIONS* instead.
### RPC Request and Response Types
<table class="table">
<tr><th colspan='2'>url parameters</th><th rowspan='2'>required<br/>user<br/>permission</th><th rowspan='2'>protocol<br/>version</th><th colspan='2'>json</th></tr>
<tr><th>req=</th><th>name=</th><th>post body</th><th>response body</th></tr>
@@ -85,18 +88,19 @@
<tr><td>LIST_REPOSITORIES</td><td>-</td><td>-</td><td>1</td><td>-</td><td>Map&lt;String, RepositoryModel&gt;</td></tr>
<tr><td>LIST_BRANCHES</td><td>-</td><td>-</td><td>1</td><td>-</td><td>Map&lt;String, List&lt;String&gt;&gt;</td></tr>
<tr><td>LIST_SETTINGS</td><td>-</td><td><em>-</em></td><td>1</td><td>-</td><td>ServerSettings (basic keys)</td></tr>
<tr><td>GET_USER</td><td>user name</td><td>-</td><td>6</td><td>-</td><td>UserModel</td></tr>
<tr><td colspan='6'><em>web.enableRpcManagement=true</em></td></tr>
<tr><td>CREATE_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>1</td><td>RepositoryModel</td><td>-</td></tr>
<tr><td>EDIT_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>1</td><td>RepositoryModel</td><td>-</td></tr>
<tr><td>DELETE_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>1</td><td>-</td><td>-</td></tr>
<tr><td>DELETE_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>1</td><td>RepositoryModel</td><td>-</td></tr>
<tr><td>LIST_USERS</td><td>-</td><td><em>admin</em></td><td>1</td><td>-</td><td>List&lt;UserModel&gt;</td></tr>
<tr><td>CREATE_USER</td><td>user name</td><td><em>admin</em></td><td>1</td><td>UserModel</td><td>-</td></tr>
<tr><td>EDIT_USER</td><td>user name</td><td><em>admin</em></td><td>1</td><td>UserModel</td><td>-</td></tr>
<tr><td>DELETE_USER</td><td>user name</td><td><em>admin</em></td><td>1</td><td>-</td><td>-</td></tr>
<tr><td>DELETE_USER</td><td>user name</td><td><em>admin</em></td><td>1</td><td>UserModel</td><td>-</td></tr>
<tr><td>LIST_TEAMS</td><td>-</td><td><em>admin</em></td><td>2</td><td>-</td><td>List&lt;TeamModel&gt;</td></tr>
<tr><td>CREATE_TEAM</td><td>team name</td><td><em>admin</em></td><td>2</td><td>TeamModel</td><td>-</td></tr>
<tr><td>EDIT_TEAM</td><td>team name</td><td><em>admin</em></td><td>2</td><td>TeamModel</td><td>-</td></tr>
<tr><td>DELETE_TEAM</td><td>team name</td><td><em>admin</em></td><td>2</td><td>-</td><td>-</td></tr>
<tr><td>DELETE_TEAM</td><td>team name</td><td><em>admin</em></td><td>2</td><td>TeamModel</td><td>-</td></tr>
<tr><td>LIST_REPOSITORY_MEMBERS</td><td>repository name</td><td><em>admin</em></td><td>1</td><td>-</td><td>List&lt;String&gt;</td></tr>
<tr><td><s>SET_REPOSITORY_MEMBERS</s></td><td><s>repository name</s></td><td><em><s>admin</s></em></td><td><s>1</s></td><td><s>List&lt;String&gt;</s></td><td>-</td></tr>
<tr><td>LIST_REPOSITORY_MEMBER_PERMISSIONS</td><td>repository name</td><td><em>admin</em></td><td>5</td><td>-</td><td>List&lt;String&gt;</td></tr>
@@ -118,6 +122,7 @@
</table>
### RPC/HTTP Response Codes
<table class="table">
<tr><th>code</th><th>name</th><th>description</th></tr>
<tr><td>200</td><td>success</td><td>Gitblit processed the request successfully</td></tr>
@@ -132,7 +137,8 @@
**url**: https://localhost/rpc?req=LIST_REPOSITORIES  
**response body**: Map&lt;String, RepositoryModel&gt; where the map key is the clone url of the repository
<pre>
```json
{
  "https://localhost/git/libraries/xmlapache.git": {
    "name": "libraries/xmlapache.git",
@@ -175,7 +181,7 @@
    "size": "4.8 MB"
  }
}
</pre>
```
### Example: EDIT_REPOSITORY (rename)
@@ -183,7 +189,8 @@
**url**: https://localhost/rpc?req=EDIT_REPOSITORY&name=libraries/xmlapache.git  
**post body**: RepositoryModel
<pre>
```json
{
    "name": "libraries/xmlapache-renamed.git",
    "description": "apache xmlrpc client and server",
@@ -205,12 +212,13 @@
    "skipSummaryMetrics": false,
    "size": "102 KB"
}
</pre>
```
### Example: LIST_USERS
**url**: https://localhost/rpc?req=LIST_USERS  
**response body**: List&lt;UserModel&gt;
<pre>
```json
[
  {
    "username": "admin",
@@ -230,12 +238,13 @@
    ]
  }
]
</pre>
```
### Example: LIST_SETTINGS
**url**: https://localhost/rpc?req=LIST_SETTINGS  
**response body**: ServerSettings
<pre>
```json
{
  "settings": {
      "web.siteName": {
@@ -260,12 +269,13 @@
      }
  }
}
</pre>
```
### Example: LIST_STATUS
**url**: https://localhost/rpc?req=LIST_STATUS  
**response body**: ServerStatus
<pre>
```json
{
  "bootDate": "2011-10-22T12:13:00Z",
  "version": "0.7.0-SNAPSHOT",
@@ -292,4 +302,4 @@
  "heapSize": 1899560960,
  "servletContainer": "jetty/7.4.3.v20110701"
}
</pre>
```