diff --git a/docs/api/api.rst b/docs/api/api.rst --- a/docs/api/api.rst +++ b/docs/api/api.rst @@ -23,7 +23,7 @@ API access Clients must send JSON encoded JSON-RPC requests:: { - "id: "", + "id": "", "api_key": "", "method": "", "args": {"": ""} @@ -115,7 +115,7 @@ OUTPUT:: id : result : "Pulled from ``" - error : null + error : null rescan_repos ^^^^^^^^^^^^ @@ -138,7 +138,7 @@ OUTPUT:: id : result : "{'added': [], 'removed': []}" - error : null + error : null invalidate_cache ^^^^^^^^^^^^^^^^ @@ -160,7 +160,7 @@ OUTPUT:: id : result : "Caches of repository ``" - error : null + error : null get_ip ^^^^^^ @@ -175,24 +175,23 @@ INPUT:: api_key : "" method : "get_ip" args : { - "userid" : "", + "userid" : "" } OUTPUT:: id : result : { - "ip_addr_server": ", - "user_ips": [ + "ip_addr_server" : ", + "user_ips" : [ { - "ip_addr": "", - "ip_range": ["", ""], + "ip_addr" : "", + "ip_range" : ["", ""] }, ... - ] + ] } - - error : null + error : null get_user ^^^^^^^^ @@ -214,29 +213,29 @@ INPUT:: OUTPUT:: id : - result: None if user does not exist or - { + result : None if user does not exist or + { "user_id" : "", "api_key" : "", "username" : "", - "firstname": "", + "firstname" : "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "ip_addresses": "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", + "last_login" : "", "permissions": { "global": ["hg.create.repository", "repository.read", "hg.register.manual_activate"], - "repositories": {"repo1": "repository.none"}, - "repositories_groups": {"Group1": "group.read"} - }, - } - error: null + "repositories" : {"repo1" : "repository.none"}, + "repositories_groups" : {"Group1" : "group.read"} + } + } + error : null get_users ^^^^^^^^^ @@ -254,24 +253,24 @@ INPUT:: OUTPUT:: id : - result: [ + result : [ { "user_id" : "", "api_key" : "", "username" : "", - "firstname": "", + "firstname" : "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "ip_addresses": "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", + "last_login" : "" }, … - ] - error: null + ] + error : null .. _create-user: @@ -300,22 +299,22 @@ INPUT:: OUTPUT:: id : - result: { + result : { "msg" : "created new user ``", - "user": { + "user" : { "user_id" : "", "username" : "", "firstname": "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", - }, - } - error: null + "last_login": "" + } + } + error : null Example:: @@ -347,23 +346,23 @@ INPUT:: OUTPUT:: id : - result: { + result : { "msg" : "updated user ID: ", - "user": { + "user" : { "user_id" : "", "api_key" : "", "username" : "", "firstname": "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", - }, - } - error: null + "last_login": "" + } + } + error : null delete_user ^^^^^^^^^^^ @@ -377,17 +376,17 @@ INPUT:: api_key : "" method : "delete_user" args : { - "userid" : "", + "userid" : "" } OUTPUT:: id : - result: { + result : { "msg" : "deleted user ID: ", - "user": null - } - error: null + "user" : null + } + error : null get_user_group ^^^^^^^^^^^^^^ @@ -411,7 +410,7 @@ OUTPUT:: { "users_group_id" : "", "group_name" : "", - "active": "", + "active" : "", "members" : [ { "user_id" : "", @@ -420,11 +419,11 @@ OUTPUT:: "firstname": "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", + "last_login": "" }, … ] @@ -451,7 +450,7 @@ OUTPUT:: { "users_group_id" : "", "group_name" : "", - "active": "", + "active" : "" }, … ] @@ -468,29 +467,29 @@ INPUT:: id : api_key : "" method : "create_user_group" - args: { + args : { "group_name": "", "owner" : "", - "active": " = Optional(True)" + "active" : " = Optional(True)" } OUTPUT:: id : - result: { - "msg": "created new user group ``", - "users_group": { + result : { + "msg" : "created new user group ``", + "users_group" : { "users_group_id" : "", "group_name" : "", - "active": "", - }, - } - error: null + "active" : "" + } + } + error : null add_user_to_user_group ^^^^^^^^^^^^^^^^^^^^^^ -Adds a user to a user group. If the user already is in that group, success will be +Add a user to a user group. If the user already is in that group, success will be ``false``. This command can only be executed using the api_key of a user with admin rights. @@ -499,20 +498,20 @@ INPUT:: id : api_key : "" method : "add_user_user_group" - args: { + args : { "usersgroupid" : "", - "userid" : "", + "userid" : "" } OUTPUT:: id : - result: { - "success": True|False # depends on if member is in group - "msg": "added member `` to a user group `` | - User is already in that group" - } - error: null + result : { + "success" : True|False, # depends on if member is in group + "msg" : "added member `` to a user group `` | + User is already in that group" + } + error : null remove_user_from_user_group ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -526,20 +525,181 @@ INPUT:: id : api_key : "" method : "remove_user_from_user_group" - args: { + args : { "usersgroupid" : "", - "userid" : "", + "userid" : "" + } + +OUTPUT:: + + id : + result : { + "success" : True|False, # depends on if member is in group + "msg" : "removed member from user group | + User wasn't in group" + } + error : null + +get_repo_group +^^^^^^^^^^^^^^ + +Get an existing repository group. +This command can only be executed using the api_key of a user with admin rights. + +INPUT:: + + id : + api_key : "" + method : "get_repo_group" + args : { + "repogroupid" : "" } OUTPUT:: id : - result: { - "success": True|False, # depends on if member is in group - "msg": "removed member from user group | - User wasn't in group" - } - error: null + result : + { + "group_id" : "", + "group_name" : "", + "group_description" : "", + "parent_group" : ""|null, + "repositories" : "", + "owner" : "", + "members" : [ + { + "name" : "", + "type" : "user", + "permission" : "group.(none|read|write|admin)" + }, + { + "name" : "", + "type" : "user_group", + "permission" : "group.(none|read|write|admin)" + }, + … + ] + + }, + error : null + +get_repo_groups +^^^^^^^^^^^^^^^ + +List all existing repository groups. +This command can only be executed using the api_key of a user with admin rights. + +INPUT:: + + id : + api_key : "" + method : "get_repo_groups" + args : { } + +OUTPUT:: + + id : + result : [ + { + "group_id" : "", + "group_name" : "", + "group_description" : "", + "parent_group" : ""|null, + "repositories" : "", + "owner" : "" + }, + … + ] + error : null + +create_repo_group +^^^^^^^^^^^^^^^^^ + +Create a new repository group. +This command can only be executed using the api_key of a user with admin rights. + +INPUT:: + + id : + api_key : "" + method : "create_repo_group" + args : { + "group_name" : "", + "description" : " = Optional("")", + "owner" : " = Optional(None)", + "parent" : " = Optional(None)", + "copy_permissions" : " = Optional(False)" + } + +OUTPUT:: + + id : + result : { + "msg" : "created new repo group ``", + "repo_group" : { + "group_id" : , + "group_name" : "/", + "group_description" : "", + "parent_group" : |null, + "repositories" : , + "owner" : "" + } + +update_repo_group +^^^^^^^^^^^^^^^^^ + +Update a repository group. +This command can only be executed using the api_key of a user with admin rights. + +INPUT:: + + id : + api_key : "" + method : "update_repo_group" + args : { + "repogroupid" : "", + "group_name" : " = Optional(None)", + "description" : " = Optional(None)", + "owner" : " = Optional(None)", + "parent" : " = Optional(None)" + } + +OUTPUT:: + + id : + result : { + "msg" : "updated repository group ID: ", + "repo_group" : { + "group_id" : , + "group_name" : "/", + "group_description" : "", + "parent_group" : |null, + "repositories" : , + "owner" : "" + } + +delete_repo_group +^^^^^^^^^^^^^^^^^ + +Delete a repository group. +This command can only be executed using the api_key of a user with admin rights. + +INPUT:: + + id : + api_key : "" + method : "delete_repo_group" + args : { + "repogroupid" : "" + } + +OUTPUT:: + + id : + result : { + "msg" : "deleted repo group ID: ", + "repo_group" : null + } get_repo ^^^^^^^^ @@ -554,144 +714,144 @@ INPUT:: id : api_key : "" method : "get_repo" - args: { + args : { "repoid" : "", - "with_revision_names": " = Optional(False)", - "with_pullrequests": " = Optional(False)", + "with_revision_names" : " = Optional(False)", + "with_pullrequests" : " = Optional(False)" } OUTPUT:: id : - result: None if repository does not exist or - { + result : None if repository does not exist or + { "repo_id" : "", - "repo_name" : "" + "repo_name" : "", "repo_type" : "", "clone_uri" : "", - "enable_downloads": "", + "enable_downloads" : "", "enable_statistics": "", - "private": "", + "private" : "", "created_on" : "", "description" : "", - "landing_rev": "", - "last_changeset": { - "author": "", - "date": "", - "message": "", - "raw_id": "", - "revision": "", - "short_id": "" + "landing_rev" : "", + "last_changeset" : { + "author" : "", + "date" : "", + "message" : "", + "raw_id" : "", + "revision": "", + "short_id": "" }, - "owner": "", - "fork_of": "", - "members" : [ + "owner" : "", + "fork_of" : "", + "members" : [ { - "type": "user", + "type" : "user", "user_id" : "", "api_key" : "", "username" : "", - "firstname": "", + "firstname" : "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", + "last_login" : "", "permission" : "repository.(read|write|admin)" }, … { - "type": "users_group", + "type" : "users_group", "id" : "", "name" : "", - "active": "", + "active" : "", "permission" : "repository.(read|write|admin)" }, … - ], - "followers": [ + ], + "followers" : [ { "user_id" : "", "username" : "", "api_key" : "", - "firstname": "", + "firstname" : "", "lastname" : "", "email" : "", - "emails": "", + "emails" : "", "ip_addresses": "", "active" : "", - "admin" :  "", + "admin" : "", "ldap_dn" : "", - "last_login": "", + "last_login" : "" }, … - ], - - "tags": { - "": "", + ], + + "tags" : { + "" : "", ... - }, - "branches": { - "": "", + }, + "branches" : { + "" : "", ... - }, - "bookmarks": { - "": "", + }, + "bookmarks" : { + "" : "", ... - }, + }, - "pull_requests": [ + "pull_requests" : [ { - "status": "", - "pull_request_id": , - "description": "", - "title": "", - "url": "", - "reviewers": [ + "status" : "", + "pull_request_id" : , + "description" : "", + "title" : "", + "url" : "", + "reviewers" : [ { - "username": "", + "username" : "" }, ... ], - "org_repo_url": "", - "org_ref_parts": [ + "org_repo_url" : "", + "org_ref_parts" : [ "", "", "" ], - "other_ref_parts": [ + "other_ref_parts" : [ "", "", "" ], - "comments": [ + "comments" : [ { - "username": "", - "text": "", - "comment_id": "", + "username" : "", + "text" : "", + "comment_id" : "" }, ... ], - "owner": "", - "statuses": [ + "owner" : "", + "statuses" : [ { - "status": "", # "under_review", "approved" or "rejected" - "reviewer": "", - "modified_at": "" # iso 8601 date, server's timezone + "status" : "", # "under_review", "approved" or "rejected" + "reviewer" : "", + "modified_at" : "" # iso 8601 date, server's timezone }, ... ], - "revisions": [ + "revisions" : [ "", ... ] }, ... ] - } - error: null + } + error : null get_repos ^^^^^^^^^ @@ -705,29 +865,29 @@ INPUT:: id : api_key : "" method : "get_repos" - args: { } + args : { } OUTPUT:: id : - result: [ + result : [ { "repo_id" : "", - "repo_name" : "" + "repo_name" : "", "repo_type" : "", "clone_uri" : "", "private" : "", "created_on" : "", "description" : "", - "landing_rev": "", - "owner": "", - "fork_of": "", - "enable_downloads": "", - "enable_statistics": "", + "landing_rev" : "", + "owner" : "", + "fork_of" : "", + "enable_downloads" : "", + "enable_statistics": "" }, … - ] - error: null + ] + error : null get_repo_nodes ^^^^^^^^^^^^^^ @@ -741,24 +901,24 @@ INPUT:: id : api_key : "" method : "get_repo_nodes" - args: { - "repoid" : "" - "revision" : "", + args : { + "repoid" : "", + "revision" : "", "root_path" : "", - "ret_type" : " = Optional('all')" + "ret_type" : " = Optional('all')" } OUTPUT:: id : - result: [ + result : [ { - "name" : "" - "type" : "", + "name" : "", + "type" : "" }, … - ] - error: null + ] + error : null create_repo ^^^^^^^^^^^ @@ -778,7 +938,7 @@ INPUT:: id : api_key : "" method : "create_repo" - args: { + args : { "repo_name" : "", "owner" : "", "repo_type" : " = Optional('hg')", @@ -786,31 +946,31 @@ INPUT:: "private" : " = Optional(False)", "clone_uri" : " = Optional(None)", "landing_rev" : " = Optional('tip')", - "enable_downloads": " = Optional(False)", - "enable_statistics": " = Optional(False)", + "enable_downloads" : " = Optional(False)", + "enable_statistics": " = Optional(False)" } OUTPUT:: id : - result: { - "msg": "Created new repository ``", - "repo": { + result : { + "msg" : "Created new repository ``", + "repo" : { "repo_id" : "", - "repo_name" : "" + "repo_name" : "", "repo_type" : "", "clone_uri" : "", "private" : "", "created_on" : "", "description" : "", - "landing_rev": "", - "owner": "", - "fork_of": "", - "enable_downloads": "", - "enable_statistics": "", - }, - } - error: null + "landing_rev" : "", + "owner" : "", + "fork_of" : "", + "enable_downloads" : "", + "enable_statistics": "" + } + } + error : null update_repo ^^^^^^^^^^^ @@ -825,8 +985,8 @@ INPUT:: id : api_key : "" method : "update_repo" - args: { - "repoid" : "" + args : { + "repoid" : "", "name" : " = Optional('')", "group" : " = Optional(None)", "owner" : "", @@ -834,39 +994,39 @@ INPUT:: "private" : " = Optional(False)", "clone_uri" : " = Optional(None)", "landing_rev" : " = Optional('tip')", - "enable_downloads": " = Optional(False)", - "enable_statistics": " = Optional(False)", + "enable_downloads" : " = Optional(False)", + "enable_statistics": " = Optional(False)" } OUTPUT:: id : - result: { - "msg": "updated repo ID:repo_id ``", - "repository": { + result : { + "msg" : "updated repo ID:repo_id ``", + "repository" : { "repo_id" : "", - "repo_name" : "" + "repo_name" : "", "repo_type" : "", "clone_uri" : "", - "private": "", + "private" : "", "created_on" : "", "description" : "", - "landing_rev": "", - "owner": "", - "fork_of": "", - "enable_downloads": "", + "landing_rev" : "", + "owner" : "", + "fork_of" : "", + "enable_downloads" : "", "enable_statistics": "", - "last_changeset": { - "author": "", - "date": "", - "message": "", - "raw_id": "", + "last_changeset" : { + "author" : "", + "date" : "", + "message" : "", + "raw_id" : "", "revision": "", "short_id": "" } - }, - } - error: null + } + } + error : null fork_repo ^^^^^^^^^ @@ -884,25 +1044,24 @@ INPUT:: id : api_key : "" method : "fork_repo" - args: { + args : { "repoid" : "", - "fork_name": "", - "owner": "", - "description": "", + "fork_name" : "", + "owner" : "", + "description" : "", "copy_permissions": "", - "private": "", - "landing_rev": "" - + "private" : "", + "landing_rev" : "" } OUTPUT:: id : - result: { - "msg": "Created fork of `` as ``", - "success": true - } - error: null + result : { + "msg" : "Created fork of `` as ``", + "success" : true + } + error : null delete_repo ^^^^^^^^^^^ @@ -917,19 +1076,19 @@ INPUT:: id : api_key : "" method : "delete_repo" - args: { + args : { "repoid" : "", - "forks" : "`delete` or `detach` = Optional(None)" + "forks" : "`delete` or `detach` = Optional(None)" } OUTPUT:: id : - result: { - "msg": "Deleted repository ``", - "success": true - } - error: null + result : { + "msg" : "Deleted repository ``", + "success" : true + } + error : null grant_user_permission ^^^^^^^^^^^^^^^^^^^^^ @@ -942,20 +1101,20 @@ INPUT:: id : api_key : "" method : "grant_user_permission" - args: { - "repoid" : "" - "userid" : "" - "perm" : "(repository.(none|read|write|admin))", + args : { + "repoid" : "", + "userid" : "", + "perm" : "(repository.(none|read|write|admin))" } OUTPUT:: id : - result: { + result : { "msg" : "Granted perm: `` for user: `` in repo: ``", - "success": true - } - error: null + "success" : true + } + error : null revoke_user_permission ^^^^^^^^^^^^^^^^^^^^^^ @@ -967,20 +1126,20 @@ INPUT:: id : api_key : "" - method : "revoke_user_permission" - args: { - "repoid" : "" + method : "revoke_user_permission" + args : { + "repoid" : "", "userid" : "" } OUTPUT:: id : - result: { + result : { "msg" : "Revoked perm for user: `` in repo: ``", - "success": true - } - error: null + "success" : true + } + error : null grant_user_group_permission ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -994,20 +1153,20 @@ INPUT:: id : api_key : "" method : "grant_user_group_permission" - args: { - "repoid" : "" - "usersgroupid" : "" - "perm" : "(repository.(none|read|write|admin))", + args : { + "repoid" : "", + "usersgroupid" : "", + "perm" : "(repository.(none|read|write|admin))" } OUTPUT:: id : - result: { + result : { "msg" : "Granted perm: `` for group: `` in repo: ``", - "success": true - } - error: null + "success" : true + } + error : null revoke_user_group_permission ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1019,20 +1178,20 @@ INPUT:: id : api_key : "" - method : "revoke_user_group_permission" - args: { - "repoid" : "" + method : "revoke_user_group_permission" + args : { + "repoid" : "", "usersgroupid" : "" } OUTPUT:: id : - result: { + result : { "msg" : "Revoked perm for group: `` in repo: ``", - "success": true - } - error: null + "success" : true + } + error : null get_changesets ^^^^^^^^^^^^^^ @@ -1044,37 +1203,37 @@ INPUT:: id : api_key : "" - method : "get_changesets" - args: { + method : "get_changesets" + args : { "repoid" : "", - "start": " = Optional(None)", - "end": " = Optional(None)", - "start_date": " = Optional(None)", # in "%Y-%m-%dT%H:%M:%S" format - "end_date": " = Optional(None)", # in "%Y-%m-%dT%H:%M:%S" format - "branch_name": " = Optional(None)", - "reverse": " = Optional(False)", - "with_file_list": " = Optional(False)" + "start" : " = Optional(None)", + "end" : " = Optional(None)", + "start_date" : " = Optional(None)", # in "%Y-%m-%dT%H:%M:%S" format + "end_date" : " = Optional(None)", # in "%Y-%m-%dT%H:%M:%S" format + "branch_name" : " = Optional(None)", + "reverse" : " = Optional(False)", + "with_file_list" : " = Optional(False)" } OUTPUT:: id : - result: [ + result : [ { - "raw_id": "", - "short_id": "short_id": "", - "author": "", - "date": "", - "message": "", - "revision": "", + "raw_id" : "", + "short_id" : "", + "author" : "", + "date" : "", + "message" : "", + "revision" : "", - "added": [], - "changed": [], - "removed": [] + "added" : [], + "changed" : [], + "removed" : [] }, ... ] - error: null + error : null get_changeset ^^^^^^^^^^^^^ @@ -1087,32 +1246,32 @@ INPUT:: id : api_key : "" - method : "get_changeset" - args: { + method : "get_changeset" + args : { "repoid" : "", "raw_id" : "", - "with_reviews": " = Optional(False)" + "with_reviews" : " = Optional(False)" } OUTPUT:: id : - result: { - "author": "", - "date": "", - "message": "", - "raw_id": "", + result : { + "author" : "", + "date" : "", + "message" : "", + "raw_id" : "", "revision": "", "short_id": "", - "reviews": [{ - "reviewer": "", - "modified_at": "", # iso 8601 date, server's timezone - "status": "", # "under_review", "approved" or "rejected" + "reviews" : [{ + "reviewer" : "", + "modified_at" : "", # iso 8601 date, server's timezone + "status" : "", # "under_review", "approved" or "rejected" }, ... ] - } - error: null + } + error : null Example output:: @@ -1155,60 +1314,60 @@ INPUT:: id : api_key : "" - method : "get_pullrequest" - args: { - "pullrequest_id" : "", + method : "get_pullrequest" + args : { + "pullrequest_id" : "" } OUTPUT:: id : - result: { - "status": "", - "pull_request_id": , - "description": "", - "title": "", - "url": "", - "reviewers": [ + result : { + "status" : "", + "pull_request_id" : , + "description" : "", + "title" : "", + "url" : "", + "reviewers" : [ { - "username": "", + "username" : "" }, ... ], - "org_repo_url": "", - "org_ref_parts": [ + "org_repo_url" : "", + "org_ref_parts" : [ "", "", "" ], - "other_ref_parts": [ + "other_ref_parts" : [ "", "", "" ], - "comments": [ + "comments" : [ { - "username": "", - "text": "", - "comment_id": "", + "username" : "", + "text" : "", + "comment_id" : "" }, ... ], - "owner": "", - "statuses": [ + "owner" : "", + "statuses" : [ { - "status": "", # "under_review", "approved" or "rejected" - "reviewer": "", - "modified_at": "" # iso 8601 date, server's timezone + "status" : "", # "under_review", "approved" or "rejected" + "reviewer" : "", + "modified_at" : "" # iso 8601 date, server's timezone }, ... ], - "revisions": [ + "revisions" : [ "", ... ] }, - error: null + error : null comment_pullrequest ^^^^^^^^^^^^^^^^^^^ @@ -1220,19 +1379,19 @@ INPUT:: id : api_key : "" - method : "comment_pullrequest" - args: { - "pull_request_id": "", - "comment_msg": Optional(''), - "status": Optional(None), # "under_review", "approved" or "rejected" - "close_pr": Optional(False)", + method : "comment_pullrequest" + args : { + "pull_request_id" : "", + "comment_msg" : Optional(''), + "status" : Optional(None), # "under_review", "approved" or "rejected" + "close_pr" : Optional(False)" } OUTPUT:: id : - result: True - error: null + result : True + error : null API access for web views