1526
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 .. _api:
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 API
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 ===
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 Starting from RhodeCode version 1.2 a simple API was implemented.
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
9 There's one schema for calling all api methods. API is implemented
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
10 with JSON protocol both ways.
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13 Clients need to send JSON data in such format::
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 {
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 "api_key":"<api_key>",
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 "method":"<method_name>",
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 "args":{"<arg_key>":"<arg_val>"}
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 }
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21 Simply provide api_key for access and permission validation
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 method is name of method to call
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 and args is an key:value list of arguments to pass to method
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 .. note::
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
27 api_key can be found in your user account page
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
28
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
29
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
30 And will receive JSON formatted answer::
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 {
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
33 "result": "<result>",
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
34 "error": null
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 }
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
36
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
37 All responses from API will be `HTTP/1.0 200 OK`, if there's an error while
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
38 calling api **error** key from response will contain failure description
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
39 and result will be null.
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
40
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
41 API METHODS
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
42 +++++++++++
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
43
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
44
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
45 pull
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
46 ----
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
47
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
48 Pulls given repo from remote location. Can be used to autmatically keep
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
49 remote repos upto date
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
50
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
51 ::
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
52
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
53 method: "pull"
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
54 args: {"repo":<repo_name>}
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
55
|