tinybucket 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +35 -0
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +44 -0
  6. data/.travis.yml +10 -0
  7. data/Gemfile +22 -0
  8. data/Guardfile +13 -0
  9. data/LICENSE +21 -0
  10. data/README.md +237 -0
  11. data/Rakefile +39 -0
  12. data/lib/faraday_middleware/follow_oauth_redirects.rb +67 -0
  13. data/lib/tinybucket.rb +61 -0
  14. data/lib/tinybucket/api.rb +20 -0
  15. data/lib/tinybucket/api/base_api.rb +31 -0
  16. data/lib/tinybucket/api/branch_restrictions_api.rb +26 -0
  17. data/lib/tinybucket/api/comments_api.rb +46 -0
  18. data/lib/tinybucket/api/commits_api.rb +26 -0
  19. data/lib/tinybucket/api/diff_api.rb +17 -0
  20. data/lib/tinybucket/api/helper.rb +22 -0
  21. data/lib/tinybucket/api/helper/api_helper.rb +48 -0
  22. data/lib/tinybucket/api/helper/branch_restrictions_helper.rb +27 -0
  23. data/lib/tinybucket/api/helper/comments_helper.rb +49 -0
  24. data/lib/tinybucket/api/helper/commits_helper.rb +27 -0
  25. data/lib/tinybucket/api/helper/diff_helper.rb +29 -0
  26. data/lib/tinybucket/api/helper/pull_requests_helper.rb +44 -0
  27. data/lib/tinybucket/api/helper/repo_helper.rb +29 -0
  28. data/lib/tinybucket/api/helper/repos_helper.rb +21 -0
  29. data/lib/tinybucket/api/helper/team_helper.rb +35 -0
  30. data/lib/tinybucket/api/helper/user_helper.rb +31 -0
  31. data/lib/tinybucket/api/pull_requests_api.rb +49 -0
  32. data/lib/tinybucket/api/repo_api.rb +35 -0
  33. data/lib/tinybucket/api/repos_api.rb +19 -0
  34. data/lib/tinybucket/api/team_api.rb +51 -0
  35. data/lib/tinybucket/api/user_api.rb +44 -0
  36. data/lib/tinybucket/api_factory.rb +21 -0
  37. data/lib/tinybucket/client.rb +95 -0
  38. data/lib/tinybucket/connection.rb +62 -0
  39. data/lib/tinybucket/constants.rb +4 -0
  40. data/lib/tinybucket/error.rb +8 -0
  41. data/lib/tinybucket/error/base_error.rb +12 -0
  42. data/lib/tinybucket/error/service_error.rb +20 -0
  43. data/lib/tinybucket/model.rb +20 -0
  44. data/lib/tinybucket/model/base.rb +54 -0
  45. data/lib/tinybucket/model/branch_restriction.rb +17 -0
  46. data/lib/tinybucket/model/comment.rb +39 -0
  47. data/lib/tinybucket/model/commit.rb +39 -0
  48. data/lib/tinybucket/model/concerns.rb +14 -0
  49. data/lib/tinybucket/model/concerns/reloadable.rb +45 -0
  50. data/lib/tinybucket/model/concerns/repository_keys.rb +43 -0
  51. data/lib/tinybucket/model/error_response.rb +7 -0
  52. data/lib/tinybucket/model/page.rb +65 -0
  53. data/lib/tinybucket/model/profile.rb +37 -0
  54. data/lib/tinybucket/model/pull_request.rb +64 -0
  55. data/lib/tinybucket/model/repository.rb +96 -0
  56. data/lib/tinybucket/model/team.rb +39 -0
  57. data/lib/tinybucket/parser.rb +25 -0
  58. data/lib/tinybucket/parser/base_parser.rb +17 -0
  59. data/lib/tinybucket/parser/branch_restriction_parser.rb +9 -0
  60. data/lib/tinybucket/parser/branch_restrictions_parser.rb +10 -0
  61. data/lib/tinybucket/parser/comment_parser.rb +9 -0
  62. data/lib/tinybucket/parser/comments_parser.rb +10 -0
  63. data/lib/tinybucket/parser/commit_parser.rb +9 -0
  64. data/lib/tinybucket/parser/commits_parser.rb +9 -0
  65. data/lib/tinybucket/parser/profile_parser.rb +9 -0
  66. data/lib/tinybucket/parser/profiles_parser.rb +9 -0
  67. data/lib/tinybucket/parser/pull_request_parser.rb +9 -0
  68. data/lib/tinybucket/parser/pull_requests_parser.rb +10 -0
  69. data/lib/tinybucket/parser/repo_parser.rb +9 -0
  70. data/lib/tinybucket/parser/repos_parser.rb +10 -0
  71. data/lib/tinybucket/parser/team_parser.rb +9 -0
  72. data/lib/tinybucket/parser/teams_parser.rb +9 -0
  73. data/lib/tinybucket/request.rb +55 -0
  74. data/lib/tinybucket/response.rb +7 -0
  75. data/lib/tinybucket/response/error_handler.rb +14 -0
  76. data/lib/tinybucket/version.rb +3 -0
  77. data/spec/fixtures/commit.json +83 -0
  78. data/spec/fixtures/profile.json +29 -0
  79. data/spec/fixtures/pull_request.json +106 -0
  80. data/spec/fixtures/repositories/get.json +78 -0
  81. data/spec/fixtures/repositories/test_owner/get.json +78 -0
  82. data/spec/fixtures/repositories/test_owner/test_repo/branch-restrictions/1/get.json +17 -0
  83. data/spec/fixtures/repositories/test_owner/test_repo/branch-restrictions/get.json +101 -0
  84. data/spec/fixtures/repositories/test_owner/test_repo/commit/1/comments/1/get.json +38 -0
  85. data/spec/fixtures/repositories/test_owner/test_repo/commit/1/comments/get.json +40 -0
  86. data/spec/fixtures/repositories/test_owner/test_repo/commit/1/get.json +83 -0
  87. data/spec/fixtures/repositories/test_owner/test_repo/commits/get.json +73 -0
  88. data/spec/fixtures/repositories/test_owner/test_repo/diff/1/get.json +21 -0
  89. data/spec/fixtures/repositories/test_owner/test_repo/forks/get.json +78 -0
  90. data/spec/fixtures/repositories/test_owner/test_repo/get.json +71 -0
  91. data/spec/fixtures/repositories/test_owner/test_repo/patch/1/get.json +29 -0
  92. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/approve/delete.json +3 -0
  93. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/approve/post.json +3 -0
  94. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/comments/1/get.json +30 -0
  95. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/comments/get.json +44 -0
  96. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/commits/get.json +66 -0
  97. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/diff/get.txt +13 -0
  98. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/1/get.json +164 -0
  99. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/get.json +112 -0
  100. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/get_state_declined.json +112 -0
  101. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/get_state_merged.json +112 -0
  102. data/spec/fixtures/repositories/test_owner/test_repo/pullrequests/get_state_open.json +112 -0
  103. data/spec/fixtures/repositories/test_owner/test_repo/watchers/get.json +32 -0
  104. data/spec/fixtures/repository.json +71 -0
  105. data/spec/fixtures/teams/test_team/followers/get.json +36 -0
  106. data/spec/fixtures/teams/test_team/following/get.json +39 -0
  107. data/spec/fixtures/teams/test_team/get.json +32 -0
  108. data/spec/fixtures/teams/test_team/members/get.json +36 -0
  109. data/spec/fixtures/teams/test_team/repositories/get.json +125 -0
  110. data/spec/fixtures/users/test_owner/followers/get.json +65 -0
  111. data/spec/fixtures/users/test_owner/following/get.json +100 -0
  112. data/spec/fixtures/users/test_owner/get.json +29 -0
  113. data/spec/lib/tinybucket/api/branch_restrictions_api_spec.rb +78 -0
  114. data/spec/lib/tinybucket/api/comments_api_spec.rb +133 -0
  115. data/spec/lib/tinybucket/api/commits_api_spec.rb +63 -0
  116. data/spec/lib/tinybucket/api/diff_api_spec.rb +5 -0
  117. data/spec/lib/tinybucket/api/pull_requests_api_spec.rb +229 -0
  118. data/spec/lib/tinybucket/api/repo_api_spec.rb +100 -0
  119. data/spec/lib/tinybucket/api/repos_api_spec.rb +28 -0
  120. data/spec/lib/tinybucket/api/team_api_spec.rb +87 -0
  121. data/spec/lib/tinybucket/api/user_api_spec.rb +60 -0
  122. data/spec/lib/tinybucket/api_factory_spec.rb +23 -0
  123. data/spec/lib/tinybucket/client_spec.rb +102 -0
  124. data/spec/lib/tinybucket/connection_spec.rb +30 -0
  125. data/spec/lib/tinybucket/model/branch_restriction_spec.rb +29 -0
  126. data/spec/lib/tinybucket/model/comment_spec.rb +31 -0
  127. data/spec/lib/tinybucket/model/commit_spec.rb +62 -0
  128. data/spec/lib/tinybucket/model/page_spec.rb +58 -0
  129. data/spec/lib/tinybucket/model/profile_spec.rb +47 -0
  130. data/spec/lib/tinybucket/model/pull_request_spec.rb +122 -0
  131. data/spec/lib/tinybucket/model/repository_spec.rb +131 -0
  132. data/spec/lib/tinybucket/model/team_spec.rb +53 -0
  133. data/spec/lib/tinybucket_spec.rb +32 -0
  134. data/spec/spec_helper.rb +42 -0
  135. data/spec/support/api_response_macros.rb +30 -0
  136. data/spec/support/model_macros.rb +61 -0
  137. data/tinybucket.gemspec +36 -0
  138. metadata +437 -0
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class CommitParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Commit.new(json)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class CommitsParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Page.new(json, Tinybucket::Model::Commit)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class ProfileParser < BaseParser
4
+ def convert(json)
5
+ ::Tinybucket::Model::Profile.new(json)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class ProfilesParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Page.new(json, Tinybucket::Model::Profile)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class PullRequestParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::PullRequest.new(json)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class PullRequestsParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Page.new(
6
+ json, Tinybucket::Model::PullRequest)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class RepoParser < BaseParser
4
+ def convert(json)
5
+ ::Tinybucket::Model::Repository.new(json)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class ReposParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Page.new(
6
+ json, Tinybucket::Model::Repository)
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class TeamParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Team.new(json)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Tinybucket
2
+ module Parser
3
+ class TeamsParser < BaseParser
4
+ def convert(json)
5
+ Tinybucket::Model::Page.new(json, Tinybucket::Model::Team)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,55 @@
1
+ module Tinybucket
2
+ module Request
3
+ def get_path(path, params = {}, parser = nil, options = {})
4
+ request(:get, path, params, parser, options)
5
+ end
6
+
7
+ def patch_path(path, params = {}, parser = nil, options = {})
8
+ request(:patch, path, params, parser, options)
9
+ end
10
+
11
+ def post_path(path, params = {}, parser = nil, options = {})
12
+ request(:post, path, params, parser, options)
13
+ end
14
+
15
+ def put_path(path, params = {}, parser = nil, options = {})
16
+ request(:put, path, params, parser, options)
17
+ end
18
+
19
+ def delete_path(path, params = {}, parser = nil, options = {})
20
+ request(:delete, path, params, parser, options)
21
+ end
22
+
23
+ private
24
+
25
+ def request(method, path, params, parser, options)
26
+ conn = connection(options, parser)
27
+
28
+ path = (conn.path_prefix + path).gsub(%r{//}, '/') \
29
+ if conn.path_prefix != '/'
30
+
31
+ response = conn.send(method) do |request|
32
+ case method.intern
33
+ when :get, :delete
34
+ request.body = params.delete('data') if params.key?('data')
35
+ request.url(path, params)
36
+ when :post, :put, :patch
37
+ request.path = path
38
+ request.body = extract_data_from_params(params) unless params.empty?
39
+ else
40
+ fail ArgumentError, 'unknown http method: ' + method
41
+ end
42
+ end
43
+
44
+ response.body
45
+ end
46
+
47
+ def extract_data_from_params(params)
48
+ if params.key?('data') && !params['data'].nil?
49
+ params['data']
50
+ else
51
+ params
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,7 @@
1
+ module Tinybucket
2
+ module Response
3
+ extend ActiveSupport::Autoload
4
+
5
+ autoload :ErrorHandler
6
+ end
7
+ end
@@ -0,0 +1,14 @@
1
+ module Tinybucket
2
+ module Response
3
+ class ErrorHandler < Faraday::Response::Middleware
4
+ def on_complete(env)
5
+ status_code = env[:status].to_i
6
+
7
+ return if status_code < 400
8
+
9
+ Tinybucket.logger.error "Invalid response code:#{status_code}"
10
+ fail Tinybucket::Error::ServiceError.new(env)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module Tinybucket
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,83 @@
1
+ {
2
+ "hash": "61d9e64348f9da407e62f64726337fd3bb24b466",
3
+ "links": {
4
+ "self": {
5
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/commit/61d9e64348f9da407e62f64726337fd3bb24b466"
6
+ },
7
+ "comments": {
8
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/commit/61d9e64348f9da407e62f64726337fd3bb24b466/comments"
9
+ },
10
+ "patch": {
11
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/patch/61d9e64348f9da407e62f64726337fd3bb24b466"
12
+ },
13
+ "html": {
14
+ "href": "https://api.bitbucket.org/atlassian/atlassian-rest/commits/61d9e64348f9da407e62f64726337fd3bb24b466"
15
+ },
16
+ "diff": {
17
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/diff/61d9e64348f9da407e62f64726337fd3bb24b466"
18
+ },
19
+ "approve": {
20
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/commit/61d9e64348f9da407e62f64726337fd3b24b466/approve"
21
+ }
22
+ },
23
+ "repository": {
24
+ "links": {
25
+ "self": {
26
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest"
27
+ },
28
+ "avatar": {
29
+ "href": "https://d3oaxc4q5k2d6q.cloudfront.net/m/bf1e763db20f/img/language-avatars/java_16.png"
30
+ }
31
+ },
32
+ "full_name": "atlassian/atlassian-rest",
33
+ "name": "atlassian-rest"
34
+ },
35
+ "author": {
36
+ "raw": "Joseph Walton <jwalton@atlassian.com>",
37
+ "user": {
38
+ "username": "jwalton",
39
+ "display_name": "Joseph Walton",
40
+ "links": {
41
+ "self": {
42
+ "href": "https://api.bitbucket.org/2.0/users/jwalton"
43
+ },
44
+ "avatar": {
45
+ "href": "https://secure.gravatar.com/avatar/8e6e91101e3ed8a332dbebfdf59a3cef?d=https%3A%2F%2Fd3oaxc4q5k2d6q.cloudfront.net%2Fm%2Fbf1e763db20f%2Fimg%2Fdefault_avatar%2F32%2Fuser_blue.png&s=32"
46
+ }
47
+ }
48
+ }
49
+ },
50
+ "participants": [{
51
+ "role": "PARTICIPANT",
52
+ "user": {
53
+ "username": "evzijst",
54
+ "display_name": "Erik van Zijst",
55
+ "links": {
56
+ "self": {
57
+ "href": "https://api.bitbucket.org/2.0/users/evzijst"
58
+ },
59
+ "avatar": {
60
+ "href": "https://secure.gravatar.com/avatar/f6bcbb4e3f665e74455bd8c0b4b3afba?d=https%3A%2F%2Fd3oaxc4q5k2d6q.cloudfront.net%2Fm%2Fbf1e763db20f%2Fimg%2Fdefault_avatar%2F32%2Fuser_blue.png&s=32"
61
+ }
62
+ }
63
+ },
64
+ "approved": false
65
+ }],
66
+ "parents": [{
67
+ "hash": "59721f593b020123a75424285845325126f56e2e",
68
+ "links": {
69
+ "self": {
70
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/commit/59721f593b020123a75424285845325126f56e2e"
71
+ }
72
+ }
73
+ }, {
74
+ "hash": "56c49d8b2ae3a094fa7ba5a1251d6dd2c7c66993",
75
+ "links": {
76
+ "self": {
77
+ "href": "https://api.bitbucket.org/2.0/repositories/atlassian/atlassian-rest/commit/56c49d8b2ae3a094fa7ba5a1251d6dd2c7c66993"
78
+ }
79
+ }
80
+ }],
81
+ "date": "2013-10-21T07:21:51+00:00",
82
+ "message": "Merge remote-tracking branch 'origin/rest-2.8.x' "
83
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "username": "tutorials",
3
+ "kind": "user",
4
+ "website": "https://tutorials.bitbucket.org/",
5
+ "display_name": "first name last",
6
+ "links": {
7
+ "self": {
8
+ "href": "https://api.bitbucket.org/2.0/users/tutorials"
9
+ },
10
+ "repositories": {
11
+ "href": "https://api.bitbucket.org/2.0/users/tutorials/repositories"
12
+ },
13
+ "html": {
14
+ "href": "https://api.bitbucket.org/tutorials"
15
+ },
16
+ "followers": {
17
+ "href": "https://api.bitbucket.org/2.0/users/tutorials/followers"
18
+ },
19
+ "avatar": {
20
+ "href": "https://bitbucket-assetroot.s3.amazonaws.com/c/photos/2013/Jul/17/tutorials-avatar-1826704565-4_avatar.png"
21
+ },
22
+ "following": {
23
+ "href": "https://api.bitbucket.org/2.0/users/tutorials/following"
24
+ }
25
+ },
26
+ "created_on": "2011-12-20T16:34:07.132459+00:00",
27
+ "location": "San Francisco, CA",
28
+ "type": "user"
29
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "description": "![img](https://cloudup.com/c7ZJtChLw9J+)\r\n\r\n## Removing:\r\n\r\n* Notifications\r\n* Email\r\n* Change password\r\n* Sessions\r\n\r\n## Renaming: \r\n\r\n* Change username\r\n* Delete account (rename to delete team)\r\n\r\n",
3
+ "links": {
4
+ "decline": {
5
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/decline"
6
+ },
7
+ "commits": {
8
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/commits"
9
+ },
10
+ "self": {
11
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767"
12
+ },
13
+ "comments": {
14
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/comments"
15
+ },
16
+ "patch": {
17
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/patch"
18
+ },
19
+ "merge": {
20
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/merge"
21
+ },
22
+ "html": {
23
+ "href": "https://api.bitbucket.org/bitbucket/bitbucket/pull-request/3767"
24
+ },
25
+ "activity": {
26
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/activity"
27
+ },
28
+ "diff": {
29
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/diff"
30
+ },
31
+ "approve": {
32
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/pullrequests/3767/approve"
33
+ }
34
+ },
35
+ "author": {
36
+ "username": "mfrauenholtz",
37
+ "display_name": "Michael Frauenholtz",
38
+ "links": {
39
+ "self": {
40
+ "href": "https://api.bitbucket.org/2.0/users/mfrauenholtz"
41
+ },
42
+ "avatar": {
43
+ "href": "https://bitbucket-staging-assetroot.s3.amazonaws.com/c/photos/2013/Aug/24/mfrauenholtz-avatar-1858533797-5_avatar.png"
44
+ }
45
+ }
46
+ },
47
+ "close_source_branch": true,
48
+ "title": "BB-9500: Remove certain admin links for Team accounts",
49
+ "destination": {
50
+ "commit": {
51
+ "hash": "e04099ba977c",
52
+ "links": {
53
+ "self": {
54
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/commit/e04099ba977c"
55
+ }
56
+ }
57
+ },
58
+ "repository": {
59
+ "links": {
60
+ "self": {
61
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket"
62
+ },
63
+ "avatar": {
64
+ "href": "https://bitbucket-staging-assetroot.s3.amazonaws.com/c/photos/2013/Sep/27/bitbucket-logo-1832464563-7_avatar.png"
65
+ }
66
+ },
67
+ "full_name": "bitbucket/bitbucket",
68
+ "name": "bitbucket"
69
+ },
70
+ "branch": {
71
+ "name": "staging"
72
+ }
73
+ },
74
+ "reason": "",
75
+ "closed_by": null,
76
+ "source": {
77
+ "commit": {
78
+ "hash": "2a81a1edc0c2",
79
+ "links": {
80
+ "self": {
81
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket/commit/2a81a1edc0c2"
82
+ }
83
+ }
84
+ },
85
+ "repository": {
86
+ "links": {
87
+ "self": {
88
+ "href": "https://api.bitbucket.org/2.0/repositories/bitbucket/bitbucket"
89
+ },
90
+ "avatar": {
91
+ "href": "https://bitbucket-staging-assetroot.s3.amazonaws.com/c/photos/2013/Sep/27/bitbucket-logo-1832464563-7_avatar.png"
92
+ }
93
+ },
94
+ "full_name": "bitbucket/bitbucket",
95
+ "name": "bitbucket"
96
+ },
97
+ "branch": {
98
+ "name": "mfrauenholtz/team-removal/admin-links"
99
+ }
100
+ },
101
+ "state": "OPEN",
102
+ "created_on": "2013-11-05T23:59:26.480984+00:00",
103
+ "updated_on": "2013-11-07T00:17:41.061613+00:00",
104
+ "merge_commit": null,
105
+ "id": 3767
106
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "pagelen": 10,
3
+ "values": [
4
+ {
5
+ "scm": "git",
6
+ "has_wiki": false,
7
+ "description": "",
8
+ "links": {
9
+ "watchers": {
10
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect-fork/watchers"
11
+ },
12
+ "commits": {
13
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect-fork/commits"
14
+ },
15
+ "self": {
16
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect-fork"
17
+ },
18
+ "html": {
19
+ "href": "https://bitbucket.org/evzijst/atlassian-connect-fork"
20
+ },
21
+ "avatar": {
22
+ "href": "https://bitbucket.org/m/3a846b46851a/img/language-avatars/default_16.png"
23
+ },
24
+ "forks": {
25
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect-fork/forks"
26
+ },
27
+ "clone": [
28
+ {
29
+ "href": "https://bitbucket.org/evzijst/atlassian-connect-fork.git",
30
+ "name": "https"
31
+ },
32
+ {
33
+ "href": "ssh://git@bitbucket.org/evzijst/atlassian-connect-fork.git",
34
+ "name": "ssh"
35
+ }
36
+ ],
37
+ "pullrequests": {
38
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect-fork/pullrequests"
39
+ }
40
+ },
41
+ "fork_policy": "allow_forks",
42
+ "language": "",
43
+ "created_on": "2013-08-26T18:13:07.339080+00:00",
44
+ "parent": {
45
+ "links": {
46
+ "self": {
47
+ "href": "https://api.bitbucket.org/2.0/repositories/evzijst/atlassian-connect"
48
+ },
49
+ "avatar": {
50
+ "href": "https://bitbucket-assetroot.s3.amazonaws.com/m/3a846b46851a/img/language-avatars/default_16.png"
51
+ }
52
+ },
53
+ "full_name": "evzijst/atlassian-connect",
54
+ "name": "atlassian-connect"
55
+ },
56
+ "full_name": "evzijst/atlassian-connect-fork",
57
+ "has_issues": false,
58
+ "owner": {
59
+ "username": "evzijst",
60
+ "display_name": "Erik van Zijst",
61
+ "links": {
62
+ "self": {
63
+ "href": "https://api.bitbucket.org/2.0/users/evzijst"
64
+ },
65
+ "avatar": {
66
+ "href": "https://bitbucket-assetroot.s3.amazonaws.com/c/photos/2013/Oct/28/evzijst-avatar-3454044670-3_avatar.png"
67
+ }
68
+ }
69
+ },
70
+ "updated_on": "2013-08-26T18:13:07.514065+00:00",
71
+ "size": 17657351,
72
+ "is_private": false,
73
+ "name": "atlassian-connect-fork"
74
+ }
75
+ ],
76
+ "page": 1,
77
+ "next": "https://api.bitbucket.org/2.0/repositories?pagelen=1&after=2013-09-26T23%3A01%3A01.638828%2B00%3A00&page=2"
78
+ }