From a70b43cde76b4baab82b4ce0d9ff82883f80b8df Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 26 Oct 2011 17:54:07 -0400 Subject: [PATCH] Added status icon --- docs/02_rpc.mkd | 91 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 22 deletions(-) diff --git a/docs/02_rpc.mkd b/docs/02_rpc.mkd index b01eb67..13bf8ef 100644 --- a/docs/02_rpc.mkd +++ b/docs/02_rpc.mkd @@ -14,9 +14,11 @@ ### RPC Requests <table> -<tr><th colspan='2'>url parameters</th><th rowspan='2'>required<br/>permission</th><th colspan='2'>json</th></tr> +<tr><th colspan='2'>url parameters</th><th rowspan='2'>required<br/>user<br/>permission</th><th colspan='2'>json</th></tr> <tr><th>req=</th><th>name=</th><th>post body</th><th>response body</th></tr> +<tr><td colspan='5'><em>web.enableRpcServlet=true</em></td></tr> <tr><td>LIST_REPOSITORIES</td><td>-</td><td>-</td><td>-</td><td>Map<String, RepositoryModel></td></tr> +<tr><td colspan='5'><em>web.enableRpcManagement=true</em></td></tr> <tr><td>CREATE_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>RepositoryModel</td><td>-</td></tr> <tr><td>EDIT_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>RepositoryModel</td><td>-</td></tr> <tr><td>DELETE_REPOSITORY</td><td>repository name</td><td><em>admin</em></td><td>-</td><td>-</td></tr> @@ -26,11 +28,15 @@ <tr><td>DELETE_USER</td><td>user name</td><td><em>admin</em></td><td>-</td><td>-</td></tr> <tr><td>LIST_REPOSITORY_MEMBERS</td><td>repository name</td><td><em>admin</em></td><td>-</td><td>List<String></td></tr> <tr><td>SET_REPOSITORY_MEMBERS</td><td>repository name</td><td><em>admin</em></td><td>List<String></td><td>-</td></tr> +<tr><td>LIST_SETTINGS</td><td>-</td><td><em>admin</em></td><td>-</td><td>ServerSettings (management keys)</td></tr> +<tr><td colspan='5'><em>web.enableRpcAdministration=true</em></td></tr> <tr><td>LIST_FEDERATION_REGISTRATIONS</td><td>-</td><td><em>admin</em></td><td>-</td><td>List<FederationModel></td></tr> <tr><td>LIST_FEDERATION_RESULTS</td><td>-</td><td><em>admin</em></td><td>-</td><td>List<FederationModel></td></tr> <tr><td>LIST_FEDERATION_PROPOSALS</td><td>-</td><td><em>admin</em></td><td>-</td><td>List<FederationProposal></td></tr> <tr><td>LIST_FEDERATION_SETS</td><td>-</td><td><em>admin</em></td><td>-</td><td>List<FederationSet></td></tr> -<tr><td>LIST_SETTINGS</td><td>-</td><td><em>admin</em></td><td>-</td><td>Map<String, SettingModel></td></tr> +<tr><td>LIST_SETTINGS</td><td>-</td><td><em>admin</em></td><td>-</td><td>ServerSettings (all keys)</td></tr> +<tr><td>EDIT_SETTINGS</td><td>-</td><td><em>admin</em></td><td>Map<String, String></td><td>-</td></tr> +<tr><td>LIST_STATUS</td><td>-</td><td><em>admin</em></td><td>-</td><td>ServerStatus (see example below)</td></tr> </table> ### RPC/HTTP Response Codes @@ -49,11 +55,16 @@ [Gitblit Manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) is an example Java/Swing application that allows remote administration of a Gitblit server. This application exercises many, but not all, methods from the utility class `com.gitblit.utils.RpcUtils`. +**NOTE:** +Gitblit Manager stores your login credentials **INSECURELY** in homedir/.gitblit/config. + ### EGit "Import from Gitblit" Feature (Planning) One obvious goal of a Gitblit RPC mechanism would be to have an EGit Feature that allows authentication and enumeration of Gitblit repositories from the Eclipse *Import...* menu. Cloning (hopefully batch) would be delegated to EGit. This particular project should not be difficult as the only external dependency for `com.gitblit.utils.RpcUtils` is [google-gson](http://google-gson.googlecode.com) which is already a dependency of the EGit/GitHub Mylyn feature. + +One proposal from the EGit team is to define a common JSON RPC method for enumeration of repositories which can be implemented by Git hosts. The EGit team would then implement the UI and the client-side enumeration code. This idea was raised as part of this [feature request for EGit](https://bugs.eclipse.org/bugs/show_bug.cgi?id=361251). Currently this project is in the planning stage. @@ -80,6 +91,8 @@ "libraries" ], "isFederated": false, + "skipSizeCalculation": false, + "skipSummaryMetrics": false, "size": "102 KB" }, "https://localhost/git/libraries/smack.git": { @@ -97,6 +110,8 @@ "federationStrategy": "FEDERATE_THIS", "federationSets": [], "isFederated": false, + "skipSizeCalculation": false, + "skipSummaryMetrics": false, "size": "4.8 MB" } } @@ -126,6 +141,8 @@ "libraries" ], "isFederated": false, + "skipSizeCalculation": false, + "skipSummaryMetrics": false, "size": "102 KB" } </pre> @@ -157,28 +174,58 @@ ### Example: LIST_SETTINGS **url**: https://localhost/rpc?req=LIST_SETTINGS -**response body**: Map<String, SettingModel> +**response body**: ServerSettings <pre> { - "web.siteName": { - "name": "web.siteName", - "currentValue": "", - "defaultValue": "", - "description": "Gitblit Web Settings\nIf blank Gitblit is displayed.", - "since": "0.5.0", - "caseSensitive": false, - "restartRequired": false, - "spaceDelimited": false - }, - "web.summaryCommitCount": { - "name": "web.summaryCommitCount", - "currentValue": "16", - "defaultValue": "16", - "description": "The number of commits to display on the summary page\nValue must exceed 0 else default of 16 is used", - "since": "0.5.0", - "caseSensitive": false, - "restartRequired": false, - "spaceDelimited": false + "settings": { + "web.siteName": { + "name": "web.siteName", + "currentValue": "", + "defaultValue": "", + "description": "Gitblit Web Settings\nIf blank Gitblit is displayed.", + "since": "0.5.0", + "caseSensitive": false, + "restartRequired": false, + "spaceDelimited": false + }, + "web.summaryCommitCount": { + "name": "web.summaryCommitCount", + "currentValue": "16", + "defaultValue": "16", + "description": "The number of commits to display on the summary page\nValue must exceed 0 else default of 16 is used", + "since": "0.5.0", + "caseSensitive": false, + "restartRequired": false, + "spaceDelimited": false + } } } +</pre> + +### Example: LIST_STATUS +**url**: https://localhost/rpc?req=LIST_STATUS +**response body**: ServerStatus +<pre> +{ + "bootDate": "2011-10-22T12:13:00Z", + "systemProperties": { + "file.encoding": "Cp1252", + "java.home": "C:\\Program Files\\Java\\jdk1.6.0_26\\jre", + "java.io.tmpdir": "C:\\Users\\JAMESM~1\\AppData\\Local\\Temp\\", + "java.runtime.name": "Java(TM) SE Runtime Environment", + "java.runtime.version": "1.6.0_26-b03", + "java.vendor": "Sun Microsystems Inc.", + "java.version": "1.6.0_26", + "java.vm.info": "mixed mode", + "java.vm.name": "Java HotSpot(TM) 64-Bit Server VM", + "java.vm.vendor": "Sun Microsystems Inc.", + "java.vm.version": "20.1-b02", + "os.arch": "amd64", + "os.name": "Windows 7", + "os.version": "6.1" + }, + "heapAllocated": 128057344, + "heapFree": 120399168, + "heapSize": 1899560960 +} </pre> \ No newline at end of file -- Gitblit v1.9.1