about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrancois Perrad <francois.perrad@gadz.org>2010-10-26 15:34:41 +0200
committerFrancois Perrad <francois.perrad@gadz.org>2010-10-26 15:34:41 +0200
commit70299c8d48ba01c4052554e4fa895e7e59d6fc08 (patch)
tree4f0efeea3b244d89e464ad2507afa7032acbc9fa
parentspore2dot: refactor without read_from_json() (diff)
downloadapi-description-70299c8d48ba01c4052554e4fa895e7e59d6fc08.tar.gz
Github: API completed
-rw-r--r--services/github.json373
-rw-r--r--services/github.pngbin102546 -> 199198 bytes
-rw-r--r--services/github/Makefile16
-rw-r--r--services/github/commit.json44
-rw-r--r--services/github/gist.json38
-rw-r--r--services/github/github.pngbin115530 -> 195024 bytes
-rw-r--r--services/github/issue.json171
-rw-r--r--services/github/network.json30
-rw-r--r--services/github/object.json77
-rw-r--r--services/github/repository.json49
-rw-r--r--services/github/user.json22
11 files changed, 756 insertions, 64 deletions
diff --git a/services/github.json b/services/github.json
index 755240e..66c1369 100644
--- a/services/github.json
+++ b/services/github.json
@@ -1,6 +1,6 @@
 {
    "base_url" : "http://github.com/api/v2/",
-   "version" : "0.2",
+   "version" : "0.3",
    "methods" : {
       "user_search" : {
          "path" : "/:format/user/search/:search",
@@ -10,7 +10,7 @@
             "search"
          ]
       },
-      "user_information" : {
+      "get_info" : {
          "path" : "/:format/user/show/:username",
          "method" : "GET",
          "required_params" : [
@@ -18,7 +18,7 @@
             "username"
          ]
       },
-      "my_information" : {
+      "get_profile" : {
          "path" : "/:format/user/show",
          "method" : "GET",
          "required_params" : [
@@ -49,7 +49,7 @@
          ],
          "authentication" : true
       },
-      "user_following" : {
+      "get_following" : {
          "path" : "/:format/user/show/:user/following",
          "method" : "GET",
          "required_params" : [
@@ -57,7 +57,7 @@
             "user"
          ]
       },
-      "user_followers" : {
+      "get_followers" : {
          "path" : "/:format/user/show/:user/followers",
          "method" : "GET",
          "required_params" : [
@@ -83,7 +83,7 @@
          ],
          "authentication" : true
       },
-      "watched_repos" : {
+      "get_watched_repos" : {
          "path" : "/:format/repos/watched/:user",
          "method" : "GET",
          "required_params" : [
@@ -91,7 +91,7 @@
             "user"
          ]
       },
-      "list_public_keys" : {
+      "get_keys" : {
          "path" : "/:format/user/keys",
          "method" : "GET",
          "required_params" : [
@@ -99,7 +99,7 @@
          ],
          "authentication" : true
       },
-      "add_public_key" : {
+      "add_key" : {
          "path" : "/:format/user/key/add",
          "method" : "POST",
          "form-data" : {
@@ -113,7 +113,7 @@
          ],
          "authentication" : true
       },
-      "del_public_key" : {
+      "remove_key" : {
          "path" : "/:format/user/key/remove",
          "method" : "POST",
          "form-data" : {
@@ -125,7 +125,7 @@
          ],
          "authentication" : true
       },
-      "list_emails" : {
+      "get_emails" : {
          "path" : "/:format/user/emails",
          "method" : "GET",
          "required_params" : [
@@ -145,7 +145,7 @@
          ],
          "authentication" : true
       },
-      "del_email" : {
+      "remove_email" : {
          "path" : "/:format/user/email/remove",
          "method" : "POST",
          "form-data" : {
@@ -158,7 +158,212 @@
          "authentication" : true
       },
 
-      "repos_search" : {
+      "issue_search" : {
+         "path" : "/:format/issues/search/:user/:repo/:state/:search_term",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "state",
+            "search_term"
+         ]
+      },
+      "get_issues" : {
+         "path" : "/:format/issues/list/:user/:repo/:state",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "state"
+         ]
+      },
+      "get_issues_by_label" : {
+         "path" : "/:format/issues/list/:user/:repo/label/:label",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label"
+         ]
+      },
+      "get_issue_info" : {
+         "path" : "/:format/issues/show/:user/:repo/:number",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ]
+      },
+      "get_comments" : {
+         "path" : "/:format/issues/comments/:user/:repo/:number",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ]
+      },
+      "open" : {
+         "path" : "/:format/issues/open/:user/:repo",
+         "method" : "POST",
+         "form-data" : {
+            "title" :   ":title",
+            "body" :    ":body"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ],
+         "optional_params" : [
+            "title",
+            "body"
+         ],
+         "authentication" : true
+      },
+      "close" : {
+         "path" : "/:format/issues/close/:user/:repo",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "reopen" : {
+         "path" : "/:format/issues/reopen/:user/:repo",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "update_issue" : {
+         "path" : "/:format/issues/edit/:user/:repo/:number",
+         "method" : "POST",
+         "form-data" : {
+            "title" :   ":title",
+            "body" :    ":body"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "optional_params" : [
+            "title",
+            "body"
+         ],
+         "authentication" : true
+      },
+      "get_labels" : {
+         "path" : "/:format/issues/labels/:user/:repo",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ]
+      },
+      "add_label" : {
+         "path" : "/:format/issues/label/add/:user/:repo/:label/:number",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "remove_label" : {
+         "path" : "/:format/issues/label/remove/:user/:repo/:label/:number",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "add_comment" : {
+         "path" : "/:format/issues/comment/:user/:repo/:number",
+         "method" : "POST",
+         "form-data" : {
+            "comment" : ":comment"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number",
+            "comment"
+         ],
+         "authentication" : true
+      },
+
+      "get_gist_info" : {
+         "base_url" : "http://gist.github.com/api/v1/",
+         "path" : "/:format/:gist_id",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "gist_id"
+         ]
+      },
+      "get_gist_content" : {
+         "base_url" : "http://gist.github.com/",
+         "path" : "/raw/:gist_id/:filename",
+         "method" : "GET",
+         "required_params" : [
+            "gist_id",
+            "filename"
+         ]
+      },
+      "get_gists" : {
+         "base_url" : "http://gist.github.com/api/v1/",
+         "path" : "/:format/gists/:login",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "login"
+         ]
+      },
+
+      "get_network_meta" : {
+         "path" : "/:user/:repo/network_meta",
+         "method" : "GET",
+         "required_params" : [
+            "user",
+            "repo"
+         ]
+      },
+      "get_network_data" : {
+         "path" : "/:user/:repo/network_data_chunk",
+         "method" : "GET",
+         "required_params" : [
+            "user",
+            "repo",
+            "nethash"
+         ]
+      },
+
+      "repo_search" : {
          "path" : "/:format/repos/search/:q",
          "method" : "GET",
          "required_params" : [
@@ -170,7 +375,7 @@
             "language"
          ]
       },
-      "repos_info" : {
+      "get_repo_info" : {
          "path" : "/:format/repos/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -179,7 +384,7 @@
             "repo"
          ]
       },
-      "set_repo_info" : {
+      "update_repo" : {
          "path" : "/:format/repos/show/:user/:repo",
          "method" : "POST",
          "form-data" : {
@@ -203,7 +408,7 @@
          ],
          "authentication" : true
       },
-      "list_all_repos" : {
+      "get_repos" : {
          "path" : "/:format/repos/show/:user",
          "method" : "GET",
          "required_params" : [
@@ -211,7 +416,7 @@
             "user"
          ]
       },
-      "watch_repo" : {
+      "watch" : {
          "path" : "/:format/repos/watch/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -221,7 +426,7 @@
          ],
          "authentication" : true
       },
-      "unwatch_repo" : {
+      "unwatch" : {
          "path" : "/:format/repos/unwatch/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -231,7 +436,7 @@
          ],
          "authentication" : true
       },
-      "fork_repos" : {
+      "fork" : {
          "path" : "/:format/repos/fork/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -261,7 +466,7 @@
          ],
          "authentication" : true
       },
-      "del_repo" : {
+      "delete_repo" : {
          "path" : "/:format/repos/delete/:user/:repo",
          "method" : "POST",
          "required_params" : [
@@ -291,7 +496,7 @@
          ],
          "authentication" : true
       },
-      "list_repo_keys" : {
+      "get_repo_keys" : {
          "path" : "/:format/repos/keys/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -317,7 +522,7 @@
          ],
          "authentication" : true
       },
-      "del_repo_key" : {
+      "remove_repo_key" : {
          "path" : "/:format/repos/key/:user/:repo/remove",
          "method" : "POST",
          "form-data" : {
@@ -331,7 +536,7 @@
          ],
          "authentication" : true
       },
-      "list_collaborators" : {
+      "get_collaborators" : {
          "path" : "/:format/repos/show/:user/:repo/collaborators",
          "method" : "GET",
          "required_params" : [
@@ -352,7 +557,7 @@
          ],
          "authentication" : true
       },
-      "del_collaborator" : {
+      "remove_collaborator" : {
          "path" : "/:format/repos/collaborators/:user/:repo/remove/:collaborator",
          "method" : "POST",
          "required_params" : [
@@ -363,7 +568,7 @@
          ],
          "authentication" : true
       },
-      "list_pushable" : {
+      "get_pushable" : {
          "path" : "/:format/repos/pushable",
          "method" : "GET",
          "required_params" : [
@@ -371,7 +576,7 @@
          ],
          "authentication" : true
       },
-      "list_contributors" : {
+      "get_contributors" : {
          "path" : "/:format/repos/show/:user/:repo/contributors",
          "method" : "GET",
          "required_params" : [
@@ -380,7 +585,16 @@
             "repo"
          ]
       },
-      "repo_watchers" : {
+      "get_anon_contributors" : {
+         "path" : "/:format/repos/show/:user/:repo/contributors/anon",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ]
+      },
+      "get_watchers" : {
          "path" : "/:format/repos/show/:user/:repo/watchers",
          "method" : "GET",
          "required_params" : [
@@ -389,7 +603,7 @@
             "repo"
          ]
       },
-      "repo_network" : {
+      "get_network" : {
          "path" : "/:format/repos/show/:user/:repo/network",
          "method" : "GET",
          "required_params" : [
@@ -398,7 +612,7 @@
             "repo"
          ]
       },
-      "repo_languages" : {
+      "get_languages" : {
          "path" : "/:format/repos/show/:user/:repo/languages",
          "method" : "GET",
          "required_params" : [
@@ -407,7 +621,7 @@
             "repo"
          ]
       },
-      "repo_tags" : {
+      "get_tags" : {
          "path" : "/:format/repos/show/:user/:repo/tags",
          "method" : "GET",
          "required_params" : [
@@ -416,7 +630,7 @@
             "repo"
          ]
       },
-      "repo_branches" : {
+      "get_branches" : {
          "path" : "/:format/repos/show/:user/:repo/branches",
          "method" : "GET",
          "required_params" : [
@@ -424,11 +638,108 @@
             "user",
             "repo"
          ]
+      },
+
+      "get_commits" : {
+         "path" : "/:format/commits/list/:user/:repo/:branch",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "branch"
+         ]
+      },
+      "get_file_commits" : {
+         "path" : "/:format/commits/list/:user/:repo/:branch/:path",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "branch",
+            "path"
+         ]
+      },
+      "get_commit_info" : {
+         "path" : "/:format/commits/show/:user/:repo/:sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
+      },
+
+      "get_tree" : {
+         "path" : "/:format/tree/show/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_blob" : {
+         "path" : "/:format/blob/show/:user/:repo/:tree_sha/:path",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha",
+            "path"
+         ],
+         "optional_params" : [
+            "meta"
+         ]
+      },
+      "get_blobs" : {
+         "path" : "/:format/blob/all/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
+      },
+      "get_full_blobs" : {
+         "path" : "/:format/blob/full/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_full_tree" : {
+         "path" : "/:format/tree/full/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_raw_blob" : {
+         "path" : "/:format/blob/show/:user/:repo/:sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
       }
    },
    "expected_status" : [ 200 ],
    "name" : "GitHub",
-   "authority" : "GITHUB:franckcuny",
+   "authority" : "http://github.com/SPORE",
    "meta" : {
       "documentation" : "http://develop.github.com/"
    }
diff --git a/services/github.png b/services/github.png
index 63fcb39..96ff922 100644
--- a/services/github.png
+++ b/services/github.png
Binary files differdiff --git a/services/github/Makefile b/services/github/Makefile
index 0b4264d..9b344b7 100644
--- a/services/github/Makefile
+++ b/services/github/Makefile
@@ -3,8 +3,13 @@ VALIDATOR := perl ../../utils/validator.pl --schema spore_validation.rx --descri
 SPORE2DOT := perl ../../utils/spore2dot.pl
 
 check: spore_validation.rx
-	@$(VALIDATOR) repository.json
 	@$(VALIDATOR) user.json
+	@$(VALIDATOR) issue.json
+	@$(VALIDATOR) gist.json
+	@$(VALIDATOR) network.json
+	@$(VALIDATOR) repository.json
+	@$(VALIDATOR) commit.json
+	@$(VALIDATOR) object.json
 
 test: check
 
@@ -16,7 +21,14 @@ png: github.png
 %.png : %.dot
 	dot -T png -o $@ $<
 
-github.dot: user.json repository.json
+github.dot: \
+    user.json \
+    issue.json \
+    gist.json \
+    network.json \
+    repository.json \
+    commit.json \
+    object.json
 	$(SPORE2DOT) $^ > $@
 
 clean:
diff --git a/services/github/commit.json b/services/github/commit.json
new file mode 100644
index 0000000..8fe4823
--- /dev/null
+++ b/services/github/commit.json
@@ -0,0 +1,44 @@
+{
+   "base_url" : "http://github.com/api/v2/",
+   "version" : "0.3",
+   "methods" : {
+      "get_commits" : {
+         "path" : "/:format/commits/list/:user/:repo/:branch",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "branch"
+         ]
+      },
+      "get_file_commits" : {
+         "path" : "/:format/commits/list/:user/:repo/:branch/:path",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "branch",
+            "path"
+         ]
+      },
+      "get_commit_info" : {
+         "path" : "/:format/commits/show/:user/:repo/:sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
+      }
+   },
+   "expected_status" : [ 200 ],
+   "name" : "GitHub",
+   "authority" : "http://github.com/SPORE",
+   "meta" : {
+      "documentation" : "http://develop.github.com/",
+      "module" : "commit"
+   }
+}
diff --git a/services/github/gist.json b/services/github/gist.json
new file mode 100644
index 0000000..5534f61
--- /dev/null
+++ b/services/github/gist.json
@@ -0,0 +1,38 @@
+{
+   "base_url" : "http://gist.github.com/api/v1/",
+   "version" : "0.3",
+   "methods" : {
+      "get_gist_info" : {
+         "path" : "/:format/:gist_id",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "gist_id"
+         ]
+      },
+      "get_gist_content" : {
+         "base_url" : "http://gist.github.com/",
+         "path" : "/raw/:gist_id/:filename",
+         "method" : "GET",
+         "required_params" : [
+            "gist_id",
+            "filename"
+         ]
+      },
+      "get_gists" : {
+         "path" : "/:format/gists/:login",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "login"
+         ]
+      }
+   },
+   "expected_status" : [ 200 ],
+   "name" : "GitHub",
+   "authority" : "http://github.com/SPORE",
+   "meta" : {
+      "documentation" : "http://develop.github.com/",
+      "module" : "gist"
+   }
+}
diff --git a/services/github/github.png b/services/github/github.png
index a94c46e..1d2b070 100644
--- a/services/github/github.png
+++ b/services/github/github.png
Binary files differdiff --git a/services/github/issue.json b/services/github/issue.json
new file mode 100644
index 0000000..f574c01
--- /dev/null
+++ b/services/github/issue.json
@@ -0,0 +1,171 @@
+{
+   "base_url" : "http://github.com/api/v2/",
+   "version" : "0.3",
+   "methods" : {
+      "issue_search" : {
+         "path" : "/:format/issues/search/:user/:repo/:state/:search_term",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "state",
+            "search_term"
+         ]
+      },
+      "get_issues" : {
+         "path" : "/:format/issues/list/:user/:repo/:state",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "state"
+         ]
+      },
+      "get_issues_by_label" : {
+         "path" : "/:format/issues/list/:user/:repo/label/:label",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label"
+         ]
+      },
+      "get_issue_info" : {
+         "path" : "/:format/issues/show/:user/:repo/:number",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ]
+      },
+      "get_comments" : {
+         "path" : "/:format/issues/comments/:user/:repo/:number",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ]
+      },
+      "open" : {
+         "path" : "/:format/issues/open/:user/:repo",
+         "method" : "POST",
+         "form-data" : {
+            "title" :   ":title",
+            "body" :    ":body"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ],
+         "optional_params" : [
+            "title",
+            "body"
+         ],
+         "authentication" : true
+      },
+      "close" : {
+         "path" : "/:format/issues/close/:user/:repo",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "reopen" : {
+         "path" : "/:format/issues/reopen/:user/:repo",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "update_issue" : {
+         "path" : "/:format/issues/edit/:user/:repo/:number",
+         "method" : "POST",
+         "form-data" : {
+            "title" :   ":title",
+            "body" :    ":body"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number"
+         ],
+         "optional_params" : [
+            "title",
+            "body"
+         ],
+         "authentication" : true
+      },
+      "get_labels" : {
+         "path" : "/:format/issues/labels/:user/:repo",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ]
+      },
+      "add_label" : {
+         "path" : "/:format/issues/label/add/:user/:repo/:label/:number",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "remove_label" : {
+         "path" : "/:format/issues/label/remove/:user/:repo/:label/:number",
+         "method" : "POST",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "label",
+            "number"
+         ],
+         "authentication" : true
+      },
+      "add_comment" : {
+         "path" : "/:format/issues/comment/:user/:repo/:number",
+         "method" : "POST",
+         "form-data" : {
+            "comment" : ":comment"
+         },
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "number",
+            "comment"
+         ],
+         "authentication" : true
+      }
+   },
+   "expected_status" : [ 200 ],
+   "name" : "GitHub",
+   "authority" : "http://github.com/SPORE",
+   "meta" : {
+      "documentation" : "http://develop.github.com/",
+      "module" : "issue"
+   }
+}
diff --git a/services/github/network.json b/services/github/network.json
new file mode 100644
index 0000000..2833783
--- /dev/null
+++ b/services/github/network.json
@@ -0,0 +1,30 @@
+{
+   "base_url" : "http://github.com/api/v2/",
+   "version" : "0.3",
+   "methods" : {
+      "get_network_meta" : {
+         "path" : "/:user/:repo/network_meta",
+         "method" : "GET",
+         "required_params" : [
+            "user",
+            "repo"
+         ]
+      },
+      "get_network_data" : {
+         "path" : "/:user/:repo/network_data_chunk",
+         "method" : "GET",
+         "required_params" : [
+            "user",
+            "repo",
+            "nethash"
+         ]
+      }
+   },
+   "expected_status" : [ 200 ],
+   "name" : "GitHub",
+   "authority" : "http://github.com/SPORE",
+   "meta" : {
+      "documentation" : "http://develop.github.com/",
+      "module" : "network"
+   }
+}
diff --git a/services/github/object.json b/services/github/object.json
new file mode 100644
index 0000000..56ce32f
--- /dev/null
+++ b/services/github/object.json
@@ -0,0 +1,77 @@
+{
+   "base_url" : "http://github.com/api/v2/",
+   "version" : "0.3",
+   "methods" : {
+      "get_tree" : {
+         "path" : "/:format/tree/show/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_blob" : {
+         "path" : "/:format/blob/show/:user/:repo/:tree_sha/:path",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha",
+            "path"
+         ],
+         "optional_params" : [
+            "meta"
+         ]
+      },
+      "get_blobs" : {
+         "path" : "/:format/blob/all/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
+      },
+      "get_full_blobs" : {
+         "path" : "/:format/blob/full/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_full_tree" : {
+         "path" : "/:format/tree/full/:user/:repo/:tree_sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "tree_sha"
+         ]
+      },
+      "get_raw_blob" : {
+         "path" : "/:format/blob/show/:user/:repo/:sha",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo",
+            "sha"
+         ]
+      }
+   },
+   "expected_status" : [ 200 ],
+   "name" : "GitHub",
+   "authority" : "http://github.com/SPORE",
+   "meta" : {
+      "documentation" : "http://develop.github.com/",
+      "module" : "object"
+   }
+}
diff --git a/services/github/repository.json b/services/github/repository.json
index 6cd1f5c..85c5246 100644
--- a/services/github/repository.json
+++ b/services/github/repository.json
@@ -1,8 +1,8 @@
 {
    "base_url" : "http://github.com/api/v2/",
-   "version" : "0.2",
+   "version" : "0.3",
    "methods" : {
-      "repos_search" : {
+      "repo_search" : {
          "path" : "/:format/repos/search/:q",
          "method" : "GET",
          "required_params" : [
@@ -14,7 +14,7 @@
             "language"
          ]
       },
-      "repos_info" : {
+      "get_repo_info" : {
          "path" : "/:format/repos/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -23,7 +23,7 @@
             "repo"
          ]
       },
-      "set_repo_info" : {
+      "update_repo" : {
          "path" : "/:format/repos/show/:user/:repo",
          "method" : "POST",
          "form-data" : {
@@ -47,7 +47,7 @@
          ],
          "authentication" : true
       },
-      "list_all_repos" : {
+      "get_repos" : {
          "path" : "/:format/repos/show/:user",
          "method" : "GET",
          "required_params" : [
@@ -55,7 +55,7 @@
             "user"
          ]
       },
-      "watch_repo" : {
+      "watch" : {
          "path" : "/:format/repos/watch/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -65,7 +65,7 @@
          ],
          "authentication" : true
       },
-      "unwatch_repo" : {
+      "unwatch" : {
          "path" : "/:format/repos/unwatch/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -75,7 +75,7 @@
          ],
          "authentication" : true
       },
-      "fork_repos" : {
+      "fork" : {
          "path" : "/:format/repos/fork/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -105,7 +105,7 @@
          ],
          "authentication" : true
       },
-      "del_repo" : {
+      "delete_repo" : {
          "path" : "/:format/repos/delete/:user/:repo",
          "method" : "POST",
          "required_params" : [
@@ -135,7 +135,7 @@
          ],
          "authentication" : true
       },
-      "list_repo_keys" : {
+      "get_repo_keys" : {
          "path" : "/:format/repos/keys/:user/:repo",
          "method" : "GET",
          "required_params" : [
@@ -161,7 +161,7 @@
          ],
          "authentication" : true
       },
-      "del_repo_key" : {
+      "remove_repo_key" : {
          "path" : "/:format/repos/key/:user/:repo/remove",
          "method" : "POST",
          "form-data" : {
@@ -175,7 +175,7 @@
          ],
          "authentication" : true
       },
-      "list_collaborators" : {
+      "get_collaborators" : {
          "path" : "/:format/repos/show/:user/:repo/collaborators",
          "method" : "GET",
          "required_params" : [
@@ -196,7 +196,7 @@
          ],
          "authentication" : true
       },
-      "del_collaborator" : {
+      "remove_collaborator" : {
          "path" : "/:format/repos/collaborators/:user/:repo/remove/:collaborator",
          "method" : "POST",
          "required_params" : [
@@ -207,7 +207,7 @@
          ],
          "authentication" : true
       },
-      "list_pushable" : {
+      "get_pushable" : {
          "path" : "/:format/repos/pushable",
          "method" : "GET",
          "required_params" : [
@@ -215,7 +215,7 @@
          ],
          "authentication" : true
       },
-      "list_contributors" : {
+      "get_contributors" : {
          "path" : "/:format/repos/show/:user/:repo/contributors",
          "method" : "GET",
          "required_params" : [
@@ -224,7 +224,16 @@
             "repo"
          ]
       },
-      "repo_watchers" : {
+      "get_anon_contributors" : {
+         "path" : "/:format/repos/show/:user/:repo/contributors/anon",
+         "method" : "GET",
+         "required_params" : [
+            "format",
+            "user",
+            "repo"
+         ]
+      },
+      "get_watchers" : {
          "path" : "/:format/repos/show/:user/:repo/watchers",
          "method" : "GET",
          "required_params" : [
@@ -233,7 +242,7 @@
             "repo"
          ]
       },
-      "repo_network" : {
+      "get_network" : {
          "path" : "/:format/repos/show/:user/:repo/network",
          "method" : "GET",
          "required_params" : [
@@ -242,7 +251,7 @@
             "repo"
          ]
       },
-      "repo_languages" : {
+      "get_languages" : {
          "path" : "/:format/repos/show/:user/:repo/languages",
          "method" : "GET",
          "required_params" : [
@@ -251,7 +260,7 @@
             "repo"
          ]
       },
-      "repo_tags" : {
+      "get_tags" : {
          "path" : "/:format/repos/show/:user/:repo/tags",
          "method" : "GET",
          "required_params" : [
@@ -260,7 +269,7 @@
             "repo"
          ]
       },
-      "repo_branches" : {
+      "get_branches" : {
          "path" : "/:format/repos/show/:user/:repo/branches",
          "method" : "GET",
          "required_params" : [
diff --git a/services/github/user.json b/services/github/user.json
index b1d33b2..60a1875 100644
--- a/services/github/user.json
+++ b/services/github/user.json
@@ -1,6 +1,6 @@
 {
    "base_url" : "http://github.com/api/v2/",
-   "version" : "0.2",
+   "version" : "0.3",
    "methods" : {
       "user_search" : {
          "path" : "/:format/user/search/:search",
@@ -10,7 +10,7 @@
             "search"
          ]
       },
-      "user_information" : {
+      "get_info" : {
          "path" : "/:format/user/show/:username",
          "method" : "GET",
          "required_params" : [
@@ -18,7 +18,7 @@
             "username"
          ]
       },
-      "my_information" : {
+      "get_profile" : {
          "path" : "/:format/user/show",
          "method" : "GET",
          "required_params" : [
@@ -49,7 +49,7 @@
          ],
          "authentication" : true
       },
-      "user_following" : {
+      "get_following" : {
          "path" : "/:format/user/show/:user/following",
          "method" : "GET",
          "required_params" : [
@@ -57,7 +57,7 @@
             "user"
          ]
       },
-      "user_followers" : {
+      "get_followers" : {
          "path" : "/:format/user/show/:user/followers",
          "method" : "GET",
          "required_params" : [
@@ -83,7 +83,7 @@
          ],
          "authentication" : true
       },
-      "watched_repos" : {
+      "get_watched_repos" : {
          "path" : "/:format/repos/watched/:user",
          "method" : "GET",
          "required_params" : [
@@ -91,7 +91,7 @@
             "user"
          ]
       },
-      "list_public_keys" : {
+      "get_keys" : {
          "path" : "/:format/user/keys",
          "method" : "GET",
          "required_params" : [
@@ -99,7 +99,7 @@
          ],
          "authentication" : true
       },
-      "add_public_key" : {
+      "add_key" : {
          "path" : "/:format/user/key/add",
          "method" : "POST",
          "form-data" : {
@@ -113,7 +113,7 @@
          ],
          "authentication" : true
       },
-      "del_public_key" : {
+      "remove_key" : {
          "path" : "/:format/user/key/remove",
          "method" : "POST",
          "form-data" : {
@@ -125,7 +125,7 @@
          ],
          "authentication" : true
       },
-      "list_emails" : {
+      "get_emails" : {
          "path" : "/:format/user/emails",
          "method" : "GET",
          "required_params" : [
@@ -145,7 +145,7 @@
          ],
          "authentication" : true
       },
-      "del_email" : {
+      "remove_email" : {
          "path" : "/:format/user/email/remove",
          "method" : "POST",
          "form-data" : {