bugherd_client 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +3 -1
- data/lib/bugherd_client/resources/v2/project.rb +2 -2
- data/lib/bugherd_client/resources/v2/task.rb +2 -2
- data/lib/bugherd_client/version.rb +1 -1
- data/spec/bugherd_client/client_spec.rb +1 -0
- data/spec/bugherd_client/v2/project_spec.rb +69 -0
- data/spec/bugherd_client/v2/task_spec.rb +75 -0
- data/spec/bugherd_client/v2/webhook_spec.rb +36 -0
- data/spec/cassettes/projects_add_guest.yml +192 -0
- data/spec/cassettes/projects_add_member.yml +70 -0
- data/spec/cassettes/projects_create.yml +68 -0
- data/spec/cassettes/projects_delete.yml +127 -0
- data/spec/cassettes/projects_update.yml +131 -0
- data/spec/cassettes/tasks_create.yml +70 -0
- data/spec/cassettes/tasks_update.yml +73 -0
- data/spec/cassettes/webhooks_create.yml +68 -0
- data/spec/cassettes/webhooks_delete.yml +66 -0
- data/spec/spec_helper.rb +3 -1
- metadata +20 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 049f2d2f8a4fbb6f3e61f26c1fd8bbefaa22b4db
|
4
|
+
data.tar.gz: fa9d63fea3774ef304ab59b89e52f67b7893d22f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b1a194f61046e7fd9b4a35290d8b5ca7d55778a9f7ed9e6877699559c449e2fa02c1e1a1c4a746074d645167a6080df4a3d318a03e5437ea1236ed9676a0b4c
|
7
|
+
data.tar.gz: e3cad542847bc0f6fe9a5b165c5558a50cae8d61617dae6ae84af0717d4398dbb9be7379237ca9bde0d3a16d0704664d536d48d6054028280db1b768676a54cc
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
[![Gem Version](https://badge.fury.io/rb/bugherd_client.svg)](http://badge.fury.io/rb/bugherd_client)
|
2
2
|
[![Dependency Status](https://gemnasium.com/jwaterfaucett/bugherd_client.svg)](https://gemnasium.com/jwaterfaucett/bugherd_client)
|
3
|
-
[![Build Status](https://travis-ci.org/jwaterfaucett/bugherd_client.svg?branch=master)](https://travis-ci.org/jwaterfaucett/bugherd_client)
|
3
|
+
[![Build^ Status](https://travis-ci.org/jwaterfaucett/bugherd_client.svg?branch=master)](https://travis-ci.org/jwaterfaucett/bugherd_client)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/jwaterfaucett/bugherd_client/badges/gpa.svg)](https://codeclimate.com/github/jwaterfaucett/bugherd_client)
|
5
|
+
[![Coverage Status](https://coveralls.io/repos/jwaterfaucett/bugherd_client/badge.png?branch=master)](https://coveralls.io/r/jwaterfaucett/bugherd_client?branch=master)
|
4
6
|
|
5
7
|
|
6
8
|
# BugHerd Client
|
@@ -61,7 +61,7 @@ module BugherdClient
|
|
61
61
|
# API: 2
|
62
62
|
def add_guest(project_id, attributes={})
|
63
63
|
raw_response = post_request("projects/#{project_id}/add_guest", attributes)
|
64
|
-
parse_response(raw_response)
|
64
|
+
parse_response(raw_response, :project)
|
65
65
|
end
|
66
66
|
|
67
67
|
#
|
@@ -71,7 +71,7 @@ module BugherdClient
|
|
71
71
|
#
|
72
72
|
def add_member(project_id, attributes={})
|
73
73
|
raw_response = post_request("projects/#{project_id}/add_member", attributes)
|
74
|
-
parse_response(raw_response)
|
74
|
+
parse_response(raw_response, :project)
|
75
75
|
end
|
76
76
|
|
77
77
|
|
@@ -56,12 +56,12 @@ module BugherdClient
|
|
56
56
|
# External ID is an API-only field. It cannot be set from the BugHerd application, only using the API. An external ID can be used to track originating IDs from other systems in BugHerd bugs.
|
57
57
|
def create(project_id, attributes={})
|
58
58
|
raw_response = post_request("projects/#{project_id}/tasks", task: attributes)
|
59
|
-
parse_response(raw_response)
|
59
|
+
parse_response(raw_response, :task)
|
60
60
|
end
|
61
61
|
|
62
62
|
def update(project_id, task_id, attributes={})
|
63
63
|
raw_response = put_request("projects/#{project_id}/tasks/#{task_id}", task: attributes)
|
64
|
-
parse_response(raw_response)
|
64
|
+
parse_response(raw_response, :task)
|
65
65
|
end
|
66
66
|
|
67
67
|
private
|
@@ -61,6 +61,75 @@ describe(BugherdClient::Resources::V2::Project) do
|
|
61
61
|
expect(p1.name).to eq('MyTestProject')
|
62
62
|
end
|
63
63
|
end
|
64
|
+
context 'create', vcr: { cassette_name: 'projects_create', record: :new_episodes } do
|
65
|
+
it 'should create a project and return it' do
|
66
|
+
payload = {
|
67
|
+
name: 'TestProject',
|
68
|
+
devurl: 'https://testproject.com'
|
69
|
+
}
|
70
|
+
p = client.projects.create(payload)
|
71
|
+
expect(p).to have_key(:id)
|
72
|
+
expect(p).to have_key(:devurl)
|
73
|
+
expect(p).to have_key(:api_key)
|
74
|
+
expect(p).to have_key(:is_public)
|
75
|
+
expect(p).to have_key(:is_active)
|
76
|
+
expect(p).to have_key(:members)
|
77
|
+
expect(p).to have_key(:guests)
|
64
78
|
|
79
|
+
# types
|
80
|
+
expect(p.id).to be_an(Integer)
|
81
|
+
expect(p.members).to be_an(Array)
|
82
|
+
expect(p.guests).to be_an(Array)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
context 'update', vcr: { cassette_name: 'projects_update', record: :new_episodes } do
|
86
|
+
it 'should update an existing project and return it' do
|
87
|
+
new_devurl = 'https://example.com'
|
88
|
+
existing_p = client.projects.all.first
|
89
|
+
updated_p = client.projects.update(existing_p.id, {
|
90
|
+
devurl: new_devurl
|
91
|
+
})
|
92
|
+
expect(updated_p.devurl).to eq(new_devurl)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'delete', vcr: { cassette_name: 'projects_delete', record: :new_episodes } do
|
97
|
+
it 'should update an existing project and return it' do
|
98
|
+
existing_project_id = 59745
|
99
|
+
existing_p = client.projects.find(existing_project_id)
|
100
|
+
res = client.projects.delete(existing_p.id)
|
101
|
+
expect(res).to have_key(:success)
|
102
|
+
expect(res.success).to eq(true)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context 'add_guests', vcr: { cassette_name: 'projects_add_guest', record: :new_episodes } do
|
107
|
+
it 'should add an existing guest to a project' do
|
108
|
+
p = client.projects.all.first
|
109
|
+
g = client.users.guests.first
|
110
|
+
res = client.projects.add_guest(p.id, user_id: g.id )
|
111
|
+
expect(res).to have_key(:id)
|
112
|
+
expect(res).to have_key(:guests)
|
113
|
+
expect(res.guests).to be_an(Array)
|
114
|
+
|
115
|
+
new_g = res.guests.select { |gs| gs.id == g.id }.first
|
116
|
+
expect(new_g).to_not be_nil
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
context 'add_member', vcr: { cassette_name: 'projects_add_member', record: :new_episodes } do
|
121
|
+
let(:project_id) { 40093 }
|
122
|
+
let(:member_id) { 50194 }
|
123
|
+
|
124
|
+
it 'should add a member to a project' do
|
125
|
+
res = client.projects.add_member(project_id, user_id: member_id )
|
126
|
+
expect(res).to have_key(:id)
|
127
|
+
expect(res).to have_key(:members)
|
128
|
+
expect(res.guests).to be_an(Array)
|
129
|
+
|
130
|
+
new_m = res.members.select { |mm| mm.id == member_id }.first
|
131
|
+
expect(new_m).to_not be_nil
|
132
|
+
end
|
133
|
+
end
|
65
134
|
|
66
135
|
end
|
@@ -8,6 +8,41 @@ describe(BugherdClient::Resources::V2::Project) do
|
|
8
8
|
end
|
9
9
|
let(:project_id) { 40093 }
|
10
10
|
|
11
|
+
context 'api_methods' do
|
12
|
+
it 'should list available api_methods' do
|
13
|
+
t = client.tasks
|
14
|
+
[:priorities, :statuses, :all, :find, :create, :update].each do |public_method|
|
15
|
+
expect(t.api_methods).to include(public_method)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'priorities' do
|
21
|
+
it 'should return a list of available task priorities' do
|
22
|
+
priorities = client.tasks.priorities
|
23
|
+
['not set', 'critical', 'important', 'normal','minor'].each do |p|
|
24
|
+
expect(priorities).to include(p)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'statuses' do
|
30
|
+
it 'should return a list of available task statuses' do
|
31
|
+
statuses = client.tasks.statuses
|
32
|
+
['backlog','todo','doing','done','closed'].each do |s|
|
33
|
+
expect(statuses).to include(s)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'filter_querying' do
|
39
|
+
it 'should raise an error for invalid filter queries' do
|
40
|
+
expect {
|
41
|
+
client.tasks.all(project_id, { foo: 'whatever' })
|
42
|
+
}.to raise_error(BugherdClient::Errors::InvalidQueryKey)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
11
46
|
context 'all', vcr: { cassette_name: 'tasks_all', record: :new_episodes } do
|
12
47
|
it 'should return a list of tasks in a project' do
|
13
48
|
tasks = client.tasks.all(project_id)
|
@@ -43,4 +78,44 @@ describe(BugherdClient::Resources::V2::Project) do
|
|
43
78
|
expect(t).to have_key(:status)
|
44
79
|
end
|
45
80
|
end
|
81
|
+
|
82
|
+
context 'update', vcr: { cassette_name: 'tasks_update', record: :new_episodes } do
|
83
|
+
let(:task_id) { 1035995 }
|
84
|
+
it 'should update an existing task' do
|
85
|
+
t = client.tasks.update(project_id, task_id, { status: 'doing' })
|
86
|
+
|
87
|
+
expect(t).to have_key(:id)
|
88
|
+
expect(t).to have_key(:status)
|
89
|
+
expect(t.status).to eq('doing')
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
context 'create', vcr: { cassette_name: 'tasks_create', record: :new_episodes } do
|
94
|
+
let(:user_id) { 50190 }
|
95
|
+
it 'should return a task when it exists' do
|
96
|
+
description = 'A Test Task for Testing Tests'
|
97
|
+
payload = {
|
98
|
+
status: 'backlog',
|
99
|
+
description: description,
|
100
|
+
priority: 'normal',
|
101
|
+
requester_id: user_id
|
102
|
+
}
|
103
|
+
t = client.tasks.create(project_id, payload)
|
104
|
+
|
105
|
+
expect(t).to have_key(:id)
|
106
|
+
expect(t).to have_key(:created_at)
|
107
|
+
expect(t).to have_key(:updated_at)
|
108
|
+
expect(t).to have_key(:local_task_id)
|
109
|
+
expect(t).to have_key(:priority_id)
|
110
|
+
expect(t).to have_key(:status_id)
|
111
|
+
expect(t).to have_key(:description)
|
112
|
+
expect(t.description).to eq(description)
|
113
|
+
expect(t).to have_key(:tag_names)
|
114
|
+
expect(t.tag_names).to be_an(Array)
|
115
|
+
expect(t).to have_key(:external_id)
|
116
|
+
expect(t).to have_key(:requester)
|
117
|
+
expect(t.requester).to be_a(Hash)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
46
121
|
end
|
@@ -8,6 +8,15 @@ describe(BugherdClient::Resources::V2::Organization) do
|
|
8
8
|
client = BugherdClient::Client.new(api_key: 'testing')
|
9
9
|
end
|
10
10
|
|
11
|
+
context 'events' do
|
12
|
+
it 'should return a list of available webhook events' do
|
13
|
+
event_list = client.webhooks.events
|
14
|
+
['task_create', 'task_update', 'task_destroy', 'comment'].each do |e|
|
15
|
+
expect(event_list).to include(e)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
11
20
|
context 'all', vcr: { cassette_name: "webhooks_all", record: :new_episodes } do
|
12
21
|
|
13
22
|
it 'should return a list of webhooks' do
|
@@ -17,4 +26,31 @@ describe(BugherdClient::Resources::V2::Organization) do
|
|
17
26
|
|
18
27
|
end
|
19
28
|
|
29
|
+
context 'create', vcr: { cassette_name: "webhooks_create", record: :new_episodes } do
|
30
|
+
|
31
|
+
it 'should create new webhook' do
|
32
|
+
payload = { target_url: 'https://www.example.comfoocom.io', event: 'task_create' }
|
33
|
+
response = client.webhooks.create(payload)
|
34
|
+
|
35
|
+
expect(response).to have_key(:id)
|
36
|
+
expect(response).to have_key(:target_url)
|
37
|
+
expect(response).to have_key(:event)
|
38
|
+
expect(response).to have_key(:success_count)
|
39
|
+
expect(response).to have_key(:project_id)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
context 'create', vcr: { cassette_name: "webhooks_delete", record: :new_episodes } do
|
46
|
+
let(:webhook_id) { 4141 }
|
47
|
+
|
48
|
+
it 'should delete an existing webhook' do
|
49
|
+
response = client.webhooks.delete(webhook_id)
|
50
|
+
|
51
|
+
expect(response).to have_key(:success)
|
52
|
+
expect(response.success).to eq(true)
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
20
56
|
end
|
@@ -0,0 +1,192 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
X-Rack-Cache:
|
26
|
+
- miss
|
27
|
+
Cache-Control:
|
28
|
+
- must-revalidate, private, max-age=0
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Date:
|
32
|
+
- Wed, 17 Dec 2014 16:55:46 GMT
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
X-Request-Id:
|
36
|
+
- cb04ba25db4876a1bd7fff33626f94bb
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
X-Runtime:
|
42
|
+
- '0.027730'
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
Etag:
|
46
|
+
- '"58419ca1a3a9f7cb3ceeea57f25af6b8"'
|
47
|
+
Connection:
|
48
|
+
- keep-alive
|
49
|
+
Set-Cookie:
|
50
|
+
- X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
|
51
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A46%2B00%3A00%22%7D;
|
52
|
+
path=/; expires=Sun, 17-Dec-2034 16:55:46 GMT
|
53
|
+
X-Frame-Options:
|
54
|
+
- SAMEORIGIN
|
55
|
+
X-Ua-Compatible:
|
56
|
+
- IE=Edge,chrome=1
|
57
|
+
X-Powered-By:
|
58
|
+
- cloud66
|
59
|
+
body:
|
60
|
+
encoding: UTF-8
|
61
|
+
string: '{"projects":[{"id":40093,"name":"MyTestProject"},{"id":40420,"name":"how
|
62
|
+
to be cool"}],"meta":{"count":2}}'
|
63
|
+
http_version:
|
64
|
+
recorded_at: Wed, 17 Dec 2014 16:55:46 GMT
|
65
|
+
- request:
|
66
|
+
method: get
|
67
|
+
uri: https://testing:x@www.bugherd.com/api_v2/users/guests
|
68
|
+
body:
|
69
|
+
encoding: US-ASCII
|
70
|
+
string: ''
|
71
|
+
headers:
|
72
|
+
Accept:
|
73
|
+
- application/json
|
74
|
+
Accept-Encoding:
|
75
|
+
- gzip, deflate
|
76
|
+
Content-Type:
|
77
|
+
- application/json
|
78
|
+
User-Agent:
|
79
|
+
- Ruby
|
80
|
+
response:
|
81
|
+
status:
|
82
|
+
code: 200
|
83
|
+
message: OK
|
84
|
+
headers:
|
85
|
+
Server:
|
86
|
+
- nginx
|
87
|
+
X-Rack-Cache:
|
88
|
+
- miss
|
89
|
+
Cache-Control:
|
90
|
+
- must-revalidate, private, max-age=0
|
91
|
+
Content-Type:
|
92
|
+
- application/json; charset=utf-8
|
93
|
+
Date:
|
94
|
+
- Wed, 17 Dec 2014 16:55:47 GMT
|
95
|
+
Status:
|
96
|
+
- 200 OK
|
97
|
+
X-Request-Id:
|
98
|
+
- fbce75ac92bf0bab336e53d099732be9
|
99
|
+
X-Xss-Protection:
|
100
|
+
- 1; mode=block
|
101
|
+
Transfer-Encoding:
|
102
|
+
- chunked
|
103
|
+
X-Runtime:
|
104
|
+
- '0.206785'
|
105
|
+
X-Content-Type-Options:
|
106
|
+
- nosniff
|
107
|
+
Etag:
|
108
|
+
- '"e408b3684383aaaccd5350fe2fed42a5"'
|
109
|
+
Connection:
|
110
|
+
- keep-alive
|
111
|
+
Set-Cookie:
|
112
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
113
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fusers%2Fguests%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A47%2B00%3A00%22%7D;
|
114
|
+
path=/; expires=Sun, 17-Dec-2034 16:55:47 GMT
|
115
|
+
X-Frame-Options:
|
116
|
+
- SAMEORIGIN
|
117
|
+
X-Ua-Compatible:
|
118
|
+
- IE=Edge,chrome=1
|
119
|
+
X-Powered-By:
|
120
|
+
- cloud66
|
121
|
+
body:
|
122
|
+
encoding: UTF-8
|
123
|
+
string: '{"users":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}],"meta":{"count":1}}'
|
124
|
+
http_version:
|
125
|
+
recorded_at: Wed, 17 Dec 2014 16:55:47 GMT
|
126
|
+
- request:
|
127
|
+
method: post
|
128
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/add_guest
|
129
|
+
body:
|
130
|
+
encoding: US-ASCII
|
131
|
+
string: user_id=50536&content_type=json&accept=json
|
132
|
+
headers:
|
133
|
+
Accept:
|
134
|
+
- "*/*; q=0.5, application/xml"
|
135
|
+
Accept-Encoding:
|
136
|
+
- gzip, deflate
|
137
|
+
Content-Length:
|
138
|
+
- '43'
|
139
|
+
Content-Type:
|
140
|
+
- application/x-www-form-urlencoded
|
141
|
+
User-Agent:
|
142
|
+
- Ruby
|
143
|
+
response:
|
144
|
+
status:
|
145
|
+
code: 200
|
146
|
+
message: OK
|
147
|
+
headers:
|
148
|
+
Server:
|
149
|
+
- nginx
|
150
|
+
X-Rack-Cache:
|
151
|
+
- invalidate, pass
|
152
|
+
Cache-Control:
|
153
|
+
- max-age=0, private, must-revalidate
|
154
|
+
Content-Type:
|
155
|
+
- application/json; charset=utf-8
|
156
|
+
Date:
|
157
|
+
- Wed, 17 Dec 2014 16:55:48 GMT
|
158
|
+
Status:
|
159
|
+
- 200 OK
|
160
|
+
X-Request-Id:
|
161
|
+
- e2aefeaf5ee8f610fdea2d6b10017485
|
162
|
+
X-Xss-Protection:
|
163
|
+
- 1; mode=block
|
164
|
+
Transfer-Encoding:
|
165
|
+
- chunked
|
166
|
+
X-Runtime:
|
167
|
+
- '0.127939'
|
168
|
+
X-Content-Type-Options:
|
169
|
+
- nosniff
|
170
|
+
Etag:
|
171
|
+
- '"5f81b0ad6c7835ae3f37b459db889a7f"'
|
172
|
+
Connection:
|
173
|
+
- keep-alive
|
174
|
+
Set-Cookie:
|
175
|
+
- X-Mapping-fjhppofk=DD63644E825132555253BC41B9F2C6C0; path=/
|
176
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTg1OTk3MjQ3ZGFhYWFkMjEwYjgwZDk2ZjdmOTA0Y2E0BjsAVA%3D%3D--1efac6416b01ac5bbfba30c5db360150cbcfaaa9;
|
177
|
+
path=/; HttpOnly
|
178
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Fadd_guest%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A48%2B00%3A00%22%7D;
|
179
|
+
path=/; expires=Sun, 17-Dec-2034 16:55:48 GMT
|
180
|
+
X-Frame-Options:
|
181
|
+
- SAMEORIGIN
|
182
|
+
X-Ua-Compatible:
|
183
|
+
- IE=Edge,chrome=1
|
184
|
+
X-Powered-By:
|
185
|
+
- cloud66
|
186
|
+
body:
|
187
|
+
encoding: UTF-8
|
188
|
+
string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
|
189
|
+
Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
|
190
|
+
http_version:
|
191
|
+
recorded_at: Wed, 17 Dec 2014 16:55:48 GMT
|
192
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,70 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/add_member
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: user_id=50194&content_type=json&accept=json
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '43'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Rack-Cache:
|
28
|
+
- invalidate, pass
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json; charset=utf-8
|
33
|
+
Date:
|
34
|
+
- Wed, 17 Dec 2014 17:05:00 GMT
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
X-Request-Id:
|
38
|
+
- 4449acb1e580d8a5822699e54dfec43d
|
39
|
+
X-Xss-Protection:
|
40
|
+
- 1; mode=block
|
41
|
+
Transfer-Encoding:
|
42
|
+
- chunked
|
43
|
+
X-Runtime:
|
44
|
+
- '0.150719'
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
Etag:
|
48
|
+
- '"08e70b33fb011bcd82eefce7f2977d2e"'
|
49
|
+
Connection:
|
50
|
+
- keep-alive
|
51
|
+
Set-Cookie:
|
52
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
53
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWVlZDEyODQ1NGNhYmRhZjliYWYxYTUzNzkyYzUxMGFkBjsAVA%3D%3D--9f6f02f544e86da62c036ef37f86083e2b1ed12a;
|
54
|
+
path=/; HttpOnly
|
55
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Fadd_member%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T17%3A05%3A00%2B00%3A00%22%7D;
|
56
|
+
path=/; expires=Sun, 17-Dec-2034 17:05:00 GMT
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Ua-Compatible:
|
60
|
+
- IE=Edge,chrome=1
|
61
|
+
X-Powered-By:
|
62
|
+
- cloud66
|
63
|
+
body:
|
64
|
+
encoding: UTF-8
|
65
|
+
string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50194,"email":"jan.schwenzien@testcloud.de","display_name":"Jan
|
66
|
+
Schwenzien","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"},{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
|
67
|
+
Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
|
68
|
+
http_version:
|
69
|
+
recorded_at: Wed, 17 Dec 2014 17:05:00 GMT
|
70
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: project[name]=TestProject&project[devurl]=https%3A%2F%2Ftestproject.com&content_type=json&accept=json
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '101'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 201
|
23
|
+
message: Created
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Rack-Cache:
|
28
|
+
- invalidate, pass
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json; charset=utf-8
|
33
|
+
Date:
|
34
|
+
- Wed, 17 Dec 2014 16:29:22 GMT
|
35
|
+
Status:
|
36
|
+
- 201 Created
|
37
|
+
X-Request-Id:
|
38
|
+
- e30b1cc060d27ca554cd181800900540
|
39
|
+
X-Xss-Protection:
|
40
|
+
- 1; mode=block
|
41
|
+
Transfer-Encoding:
|
42
|
+
- chunked
|
43
|
+
X-Runtime:
|
44
|
+
- '0.293009'
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
Etag:
|
48
|
+
- '"1a7ba4381b7d7c1ca623d9bb50f39533"'
|
49
|
+
Connection:
|
50
|
+
- keep-alive
|
51
|
+
Set-Cookie:
|
52
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
53
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTY0ZmJlZmNhYjE4NGMzMjQyOTE3MjkxMjAwOWU5Y2Y3BjsAVA%3D%3D--ccecd3220c9f370d178db5dcc4a7b4c6960d7e11;
|
54
|
+
path=/; HttpOnly
|
55
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A29%3A22%2B00%3A00%22%7D;
|
56
|
+
path=/; expires=Sun, 17-Dec-2034 16:29:22 GMT
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Ua-Compatible:
|
60
|
+
- IE=Edge,chrome=1
|
61
|
+
X-Powered-By:
|
62
|
+
- cloud66
|
63
|
+
body:
|
64
|
+
encoding: UTF-8
|
65
|
+
string: '{"project":{"id":59745,"name":"TestProject","devurl":"https://testproject.com","api_key":"jfcsimyis4g9dpybkxsriq","is_active":true,"is_public":null,"members":[],"guests":[]}}'
|
66
|
+
http_version:
|
67
|
+
recorded_at: Wed, 17 Dec 2014 16:29:22 GMT
|
68
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,127 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/59745
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
X-Rack-Cache:
|
26
|
+
- miss
|
27
|
+
Cache-Control:
|
28
|
+
- must-revalidate, private, max-age=0
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Date:
|
32
|
+
- Wed, 17 Dec 2014 16:38:13 GMT
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
X-Request-Id:
|
36
|
+
- 9da745ce2f718a1096d611552af754c9
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
X-Runtime:
|
42
|
+
- '0.037519'
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
Etag:
|
46
|
+
- '"1a7ba4381b7d7c1ca623d9bb50f39533"'
|
47
|
+
Connection:
|
48
|
+
- keep-alive
|
49
|
+
Set-Cookie:
|
50
|
+
- X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
|
51
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F59745%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A38%3A13%2B00%3A00%22%7D;
|
52
|
+
path=/; expires=Sun, 17-Dec-2034 16:38:13 GMT
|
53
|
+
X-Frame-Options:
|
54
|
+
- SAMEORIGIN
|
55
|
+
X-Ua-Compatible:
|
56
|
+
- IE=Edge,chrome=1
|
57
|
+
X-Powered-By:
|
58
|
+
- cloud66
|
59
|
+
body:
|
60
|
+
encoding: UTF-8
|
61
|
+
string: '{"project":{"id":59745,"name":"TestProject","devurl":"https://testproject.com","api_key":"jfcsimyis4g9dpybkxsriq","is_active":true,"is_public":null,"members":[],"guests":[]}}'
|
62
|
+
http_version:
|
63
|
+
recorded_at: Wed, 17 Dec 2014 16:38:13 GMT
|
64
|
+
- request:
|
65
|
+
method: delete
|
66
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/59745
|
67
|
+
body:
|
68
|
+
encoding: US-ASCII
|
69
|
+
string: ''
|
70
|
+
headers:
|
71
|
+
Accept:
|
72
|
+
- application/json
|
73
|
+
Accept-Encoding:
|
74
|
+
- gzip, deflate
|
75
|
+
Content-Type:
|
76
|
+
- application/json
|
77
|
+
User-Agent:
|
78
|
+
- Ruby
|
79
|
+
response:
|
80
|
+
status:
|
81
|
+
code: 200
|
82
|
+
message: OK
|
83
|
+
headers:
|
84
|
+
Server:
|
85
|
+
- nginx
|
86
|
+
X-Rack-Cache:
|
87
|
+
- invalidate, pass
|
88
|
+
Cache-Control:
|
89
|
+
- max-age=0, private, must-revalidate
|
90
|
+
Content-Type:
|
91
|
+
- application/json; charset=utf-8
|
92
|
+
Date:
|
93
|
+
- Wed, 17 Dec 2014 16:38:13 GMT
|
94
|
+
Status:
|
95
|
+
- 200 OK
|
96
|
+
X-Request-Id:
|
97
|
+
- cae27b196caf7c7cbfa2fb2d971e389d
|
98
|
+
X-Xss-Protection:
|
99
|
+
- 1; mode=block
|
100
|
+
Transfer-Encoding:
|
101
|
+
- chunked
|
102
|
+
X-Runtime:
|
103
|
+
- '0.085804'
|
104
|
+
X-Content-Type-Options:
|
105
|
+
- nosniff
|
106
|
+
Etag:
|
107
|
+
- '"7363e85fe9edee6f053a4b319588c086"'
|
108
|
+
Connection:
|
109
|
+
- keep-alive
|
110
|
+
Set-Cookie:
|
111
|
+
- X-Mapping-fjhppofk=F79505634CB879F90FD744F06F62BF75; path=/
|
112
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTYyZDU4YzQyMjgwZGFiYjM0YmEyMjA4Zjc1YWQ1NmIwBjsAVA%3D%3D--909534decd6314405931f75661e4e89597492d13;
|
113
|
+
path=/; HttpOnly
|
114
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F59745%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A38%3A13%2B00%3A00%22%7D;
|
115
|
+
path=/; expires=Sun, 17-Dec-2034 16:38:13 GMT
|
116
|
+
X-Frame-Options:
|
117
|
+
- SAMEORIGIN
|
118
|
+
X-Ua-Compatible:
|
119
|
+
- IE=Edge,chrome=1
|
120
|
+
X-Powered-By:
|
121
|
+
- cloud66
|
122
|
+
body:
|
123
|
+
encoding: UTF-8
|
124
|
+
string: '{"success":true}'
|
125
|
+
http_version:
|
126
|
+
recorded_at: Wed, 17 Dec 2014 16:38:13 GMT
|
127
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,131 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
X-Rack-Cache:
|
26
|
+
- miss
|
27
|
+
Cache-Control:
|
28
|
+
- must-revalidate, private, max-age=0
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Date:
|
32
|
+
- Wed, 17 Dec 2014 16:34:44 GMT
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
X-Request-Id:
|
36
|
+
- 02744cd39668f39cbb93e242f51e9e08
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
X-Runtime:
|
42
|
+
- '0.033186'
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
Etag:
|
46
|
+
- '"95d1917c95dfbfcf610f59317a047637"'
|
47
|
+
Connection:
|
48
|
+
- keep-alive
|
49
|
+
Set-Cookie:
|
50
|
+
- X-Mapping-fjhppofk=F79505634CB879F90FD744F06F62BF75; path=/
|
51
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A34%3A44%2B00%3A00%22%7D;
|
52
|
+
path=/; expires=Sun, 17-Dec-2034 16:34:44 GMT
|
53
|
+
X-Frame-Options:
|
54
|
+
- SAMEORIGIN
|
55
|
+
X-Ua-Compatible:
|
56
|
+
- IE=Edge,chrome=1
|
57
|
+
X-Powered-By:
|
58
|
+
- cloud66
|
59
|
+
body:
|
60
|
+
encoding: UTF-8
|
61
|
+
string: '{"projects":[{"id":40093,"name":"MyTestProject"},{"id":40420,"name":"how
|
62
|
+
to be cool"},{"id":59745,"name":"TestProject"}],"meta":{"count":3}}'
|
63
|
+
http_version:
|
64
|
+
recorded_at: Wed, 17 Dec 2014 16:34:44 GMT
|
65
|
+
- request:
|
66
|
+
method: put
|
67
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/40093
|
68
|
+
body:
|
69
|
+
encoding: US-ASCII
|
70
|
+
string: project[devurl]=https%3A%2F%2Fexample.com&content_type=json&accept=json
|
71
|
+
headers:
|
72
|
+
Accept:
|
73
|
+
- "*/*; q=0.5, application/xml"
|
74
|
+
Accept-Encoding:
|
75
|
+
- gzip, deflate
|
76
|
+
Content-Length:
|
77
|
+
- '71'
|
78
|
+
Content-Type:
|
79
|
+
- application/x-www-form-urlencoded
|
80
|
+
User-Agent:
|
81
|
+
- Ruby
|
82
|
+
response:
|
83
|
+
status:
|
84
|
+
code: 200
|
85
|
+
message: OK
|
86
|
+
headers:
|
87
|
+
Server:
|
88
|
+
- nginx
|
89
|
+
X-Rack-Cache:
|
90
|
+
- invalidate, pass
|
91
|
+
Cache-Control:
|
92
|
+
- max-age=0, private, must-revalidate
|
93
|
+
Content-Type:
|
94
|
+
- application/json; charset=utf-8
|
95
|
+
Date:
|
96
|
+
- Wed, 17 Dec 2014 16:34:45 GMT
|
97
|
+
Status:
|
98
|
+
- 200 OK
|
99
|
+
X-Request-Id:
|
100
|
+
- 83433da36f52fd4676b3eb4b22eb9a6c
|
101
|
+
X-Xss-Protection:
|
102
|
+
- 1; mode=block
|
103
|
+
Transfer-Encoding:
|
104
|
+
- chunked
|
105
|
+
X-Runtime:
|
106
|
+
- '0.226935'
|
107
|
+
X-Content-Type-Options:
|
108
|
+
- nosniff
|
109
|
+
Etag:
|
110
|
+
- '"5f81b0ad6c7835ae3f37b459db889a7f"'
|
111
|
+
Connection:
|
112
|
+
- keep-alive
|
113
|
+
Set-Cookie:
|
114
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
115
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTdmNjM1MzAwMmI5MGJiNjhlNTgyNzZlMGJmN2ExNTQ0BjsAVA%3D%3D--18f99d43caca3d464a0b777350ee39c8b9591cec;
|
116
|
+
path=/; HttpOnly
|
117
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A34%3A45%2B00%3A00%22%7D;
|
118
|
+
path=/; expires=Sun, 17-Dec-2034 16:34:45 GMT
|
119
|
+
X-Frame-Options:
|
120
|
+
- SAMEORIGIN
|
121
|
+
X-Ua-Compatible:
|
122
|
+
- IE=Edge,chrome=1
|
123
|
+
X-Powered-By:
|
124
|
+
- cloud66
|
125
|
+
body:
|
126
|
+
encoding: UTF-8
|
127
|
+
string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
|
128
|
+
Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
|
129
|
+
http_version:
|
130
|
+
recorded_at: Wed, 17 Dec 2014 16:34:45 GMT
|
131
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,70 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/tasks
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: task[status]=backlog&task[description]=A%20Test%20Task%20for%20Testing%20Tests&task[priority]=normal&task[requester_id]=50190&content_type=json&accept=json
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '155'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 201
|
23
|
+
message: Created
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Rack-Cache:
|
28
|
+
- invalidate, pass
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json; charset=utf-8
|
33
|
+
Date:
|
34
|
+
- Thu, 18 Dec 2014 11:51:36 GMT
|
35
|
+
Status:
|
36
|
+
- 201 Created
|
37
|
+
X-Request-Id:
|
38
|
+
- fc9550c18e1242226fe04f3373116282
|
39
|
+
X-Xss-Protection:
|
40
|
+
- 1; mode=block
|
41
|
+
Transfer-Encoding:
|
42
|
+
- chunked
|
43
|
+
X-Runtime:
|
44
|
+
- '0.430175'
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
Etag:
|
48
|
+
- '"7a7170e2625f5a0af24dd7e9984d9ec7"'
|
49
|
+
Connection:
|
50
|
+
- keep-alive
|
51
|
+
Set-Cookie:
|
52
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
53
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWMzYjAwNTgzY2Y1MDAzZTYzYTc5NmUyZmYwZWRiYTMxBjsAVA%3D%3D--5d552c2e9ecddfed5970e9bf065d1b005f62d874;
|
54
|
+
path=/; HttpOnly
|
55
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Ftasks%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A51%3A35%2B00%3A00%22%7D;
|
56
|
+
path=/; expires=Mon, 18-Dec-2034 11:51:35 GMT
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Ua-Compatible:
|
60
|
+
- IE=Edge,chrome=1
|
61
|
+
X-Powered-By:
|
62
|
+
- cloud66
|
63
|
+
body:
|
64
|
+
encoding: UTF-8
|
65
|
+
string: '{"task":{"id":1734828,"project_id":40093,"created_at":"2014-12-18T11:51:36Z","updated_at":"2014-12-18T11:51:36Z","local_task_id":13,"priority_id":3,"status_id":0,"description":"A
|
66
|
+
Test Task for Testing Tests","tag_names":[],"external_id":null,"requester_email":"john.faucett@testcloud.de","attachments":[],"screenshot_url":null,"status":"backlog","priority":"normal","closed_at":null,"secret_link":"http://www.bugherd.com/t/uPp1qeKA0ATUeZsKx0b2Xg","admin_link":"http://www.bugherd.com/projects/40093/tasks/13","deleted_at":null,"site":null,"url":null,"metadata":null,"screenshot_data":null,"requester_os":null,"requester_browser":null,"requester_browser_size":null,"requester_resolution":null,"selector_info":"{}","assigned_to":null,"requester":{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
|
67
|
+
Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"},"updater":null}}'
|
68
|
+
http_version:
|
69
|
+
recorded_at: Thu, 18 Dec 2014 11:51:36 GMT
|
70
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,73 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: put
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/tasks/1035995
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: task[status]=doing&content_type=json&accept=json
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '48'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Rack-Cache:
|
28
|
+
- invalidate, pass
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json; charset=utf-8
|
33
|
+
Date:
|
34
|
+
- Thu, 18 Dec 2014 11:46:58 GMT
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
X-Request-Id:
|
38
|
+
- 3807d7c48ee4e6fe6bc9f87a8703b148
|
39
|
+
X-Xss-Protection:
|
40
|
+
- 1; mode=block
|
41
|
+
Transfer-Encoding:
|
42
|
+
- chunked
|
43
|
+
X-Runtime:
|
44
|
+
- '0.272197'
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
Etag:
|
48
|
+
- '"407998bb3b0ca8474f5a3d2a0db4bae7"'
|
49
|
+
Connection:
|
50
|
+
- keep-alive
|
51
|
+
Set-Cookie:
|
52
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
53
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTE5ZTRkMzYzZWI1MmE5NmE5MzMzMDc1YmY3MzIwN2Y1BjsAVA%3D%3D--ee9332d971dcc75e224a0b9b97118613b5cceceb;
|
54
|
+
path=/; HttpOnly
|
55
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Ftasks%2F1035995%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A46%3A57%2B00%3A00%22%7D;
|
56
|
+
path=/; expires=Mon, 18-Dec-2034 11:46:57 GMT
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Ua-Compatible:
|
60
|
+
- IE=Edge,chrome=1
|
61
|
+
X-Powered-By:
|
62
|
+
- cloud66
|
63
|
+
body:
|
64
|
+
encoding: UTF-8
|
65
|
+
string: '{"task":{"id":1035995,"project_id":40093,"created_at":"2014-05-08T07:53:00Z","updated_at":"2014-12-18T11:46:57Z","local_task_id":5,"priority_id":2,"status_id":2,"description":"testCloud
|
66
|
+
ID: #10821\nApp Section: Produktdetailseite Vollbildansicht der Produkte\nURL:
|
67
|
+
www.testcloud.de/demobug\n\nDies ist ein Demo-Bug aus dem testCloud System.
|
68
|
+
Wenn Sie diesen Bug sehen, wurde die Export-Schnittstelle zu Ihrem Bugtracker
|
69
|
+
erfolgreich implementiert und ist einsatzbereit.\n\n* http://devuploads.testcloud.de:3000/uploads/bug_attachment/file/30642/cf54ff14-83e4-5a53-821b-b22a11a822c8.png\n\n","tag_names":[],"external_id":"testcloudClient","requester_email":null,"attachments":[{"id":146150,"name":null,"url":"https://bugherd-attachments.s3.amazonaws.com/brps6nxuwrzh1xgdkhwnza/"},{"id":146149,"name":"resolution.gif","url":"https://bugherd-attachments.s3.amazonaws.com/kayaszjnhljhr3bkgtfc3a/resolution.gif"},{"id":146142,"name":"resolution.gif","url":"http://i.imgur.com/U9h3jZI.gif"}],"screenshot_url":null,"status":"doing","priority":"important","closed_at":null,"secret_link":"http://www.bugherd.com/t/KGMMgQEZ9yzKOUucNXHjZQ","admin_link":"http://www.bugherd.com/projects/40093/tasks/5","deleted_at":null,"site":null,"url":null,"metadata":null,"screenshot_data":null,"requester_os":null,"requester_browser":null,"requester_browser_size":null,"requester_resolution":null,"selector_info":"{}","assigned_to":null,"requester":null,"updater":{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
|
70
|
+
Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}}}'
|
71
|
+
http_version:
|
72
|
+
recorded_at: Thu, 18 Dec 2014 11:46:58 GMT
|
73
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/webhooks
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: target_url=https%3A%2F%2Fwww.example.comfoocom.io&event=task_create&content_type=json&accept=json
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Length:
|
15
|
+
- '97'
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
User-Agent:
|
19
|
+
- Ruby
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 201
|
23
|
+
message: Created
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Rack-Cache:
|
28
|
+
- invalidate, pass
|
29
|
+
Cache-Control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
Content-Type:
|
32
|
+
- application/json; charset=utf-8
|
33
|
+
Date:
|
34
|
+
- Thu, 18 Dec 2014 11:29:07 GMT
|
35
|
+
Status:
|
36
|
+
- 201 Created
|
37
|
+
X-Request-Id:
|
38
|
+
- e25437b3265d63a56912b1bac56e8fd7
|
39
|
+
X-Xss-Protection:
|
40
|
+
- 1; mode=block
|
41
|
+
Transfer-Encoding:
|
42
|
+
- chunked
|
43
|
+
X-Runtime:
|
44
|
+
- '0.117996'
|
45
|
+
X-Content-Type-Options:
|
46
|
+
- nosniff
|
47
|
+
Etag:
|
48
|
+
- '"fdae1793210ce283c5a05ce683e26732"'
|
49
|
+
Connection:
|
50
|
+
- keep-alive
|
51
|
+
Set-Cookie:
|
52
|
+
- X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
|
53
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWNhN2E4YWMwMWI3ZTdhNjdmMWI1YTdiNDZhYzQyYTVkBjsAVA%3D%3D--cec15b7070e8398c5122abc1502df43c9905a2e5;
|
54
|
+
path=/; HttpOnly
|
55
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fwebhooks%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A29%3A07%2B00%3A00%22%7D;
|
56
|
+
path=/; expires=Mon, 18-Dec-2034 11:29:07 GMT
|
57
|
+
X-Frame-Options:
|
58
|
+
- SAMEORIGIN
|
59
|
+
X-Ua-Compatible:
|
60
|
+
- IE=Edge,chrome=1
|
61
|
+
X-Powered-By:
|
62
|
+
- cloud66
|
63
|
+
body:
|
64
|
+
encoding: UTF-8
|
65
|
+
string: '{"webhook":{"id":4141,"target_url":"https://www.example.comfoocom.io","event":"task_create","project_id":null,"success_count":null}}'
|
66
|
+
http_version:
|
67
|
+
recorded_at: Thu, 18 Dec 2014 11:29:07 GMT
|
68
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,66 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: https://testing:x@www.bugherd.com/api_v2/webhooks/4141
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
User-Agent:
|
17
|
+
- Ruby
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
X-Rack-Cache:
|
26
|
+
- invalidate, pass
|
27
|
+
Cache-Control:
|
28
|
+
- max-age=0, private, must-revalidate
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Date:
|
32
|
+
- Thu, 18 Dec 2014 11:31:37 GMT
|
33
|
+
Status:
|
34
|
+
- 200 OK
|
35
|
+
X-Request-Id:
|
36
|
+
- 2a1f906da1be0877a1e1b0d06b17150a
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
Transfer-Encoding:
|
40
|
+
- chunked
|
41
|
+
X-Runtime:
|
42
|
+
- '0.262089'
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
Etag:
|
46
|
+
- '"7363e85fe9edee6f053a4b319588c086"'
|
47
|
+
Connection:
|
48
|
+
- keep-alive
|
49
|
+
Set-Cookie:
|
50
|
+
- X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
|
51
|
+
- _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWUwZDEyZGZiYjBhYWRjNGJiYjBhMjY4OTU2ODRmZTdmBjsAVA%3D%3D--6e6ce867b97f064fc3943a648c43a3bdab79d217;
|
52
|
+
path=/; HttpOnly
|
53
|
+
- landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fwebhooks%2F4141%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A31%3A37%2B00%3A00%22%7D;
|
54
|
+
path=/; expires=Mon, 18-Dec-2034 11:31:37 GMT
|
55
|
+
X-Frame-Options:
|
56
|
+
- SAMEORIGIN
|
57
|
+
X-Ua-Compatible:
|
58
|
+
- IE=Edge,chrome=1
|
59
|
+
X-Powered-By:
|
60
|
+
- cloud66
|
61
|
+
body:
|
62
|
+
encoding: UTF-8
|
63
|
+
string: '{"success":true}'
|
64
|
+
http_version:
|
65
|
+
recorded_at: Thu, 18 Dec 2014 11:31:38 GMT
|
66
|
+
recorded_with: VCR 2.9.3
|
data/spec/spec_helper.rb
CHANGED
@@ -5,8 +5,10 @@ support = File.expand_path('../support', __FILE__)
|
|
5
5
|
[lib, support].each { |path| $:.unshift(path) unless $:.include?(path) }
|
6
6
|
require 'pry'
|
7
7
|
|
8
|
-
|
8
|
+
require 'coveralls'
|
9
9
|
require 'simplecov'
|
10
|
+
|
11
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
10
12
|
SimpleCov.start do
|
11
13
|
add_filter '/spec/'
|
12
14
|
add_group 'api_v1', 'bugherd_client/resources/v1'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bugherd_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Faucett
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -199,13 +199,22 @@ files:
|
|
199
199
|
- spec/cassettes/members_all.yml
|
200
200
|
- spec/cassettes/organizations_get.yml
|
201
201
|
- spec/cassettes/projects_active.yml
|
202
|
+
- spec/cassettes/projects_add_guest.yml
|
203
|
+
- spec/cassettes/projects_add_member.yml
|
202
204
|
- spec/cassettes/projects_all.yml
|
205
|
+
- spec/cassettes/projects_create.yml
|
206
|
+
- spec/cassettes/projects_delete.yml
|
203
207
|
- spec/cassettes/projects_find_failure.yml
|
204
208
|
- spec/cassettes/projects_find_success.yml
|
209
|
+
- spec/cassettes/projects_update.yml
|
205
210
|
- spec/cassettes/tasks_all.yml
|
211
|
+
- spec/cassettes/tasks_create.yml
|
206
212
|
- spec/cassettes/tasks_find_success.yml
|
213
|
+
- spec/cassettes/tasks_update.yml
|
207
214
|
- spec/cassettes/users_all.yml
|
208
215
|
- spec/cassettes/webhooks_all.yml
|
216
|
+
- spec/cassettes/webhooks_create.yml
|
217
|
+
- spec/cassettes/webhooks_delete.yml
|
209
218
|
- spec/spec_helper.rb
|
210
219
|
- spec/support/http_helper.rb
|
211
220
|
homepage: http://jwaterfaucett.github.io/bugherd_client
|
@@ -243,12 +252,21 @@ test_files:
|
|
243
252
|
- spec/cassettes/members_all.yml
|
244
253
|
- spec/cassettes/organizations_get.yml
|
245
254
|
- spec/cassettes/projects_active.yml
|
255
|
+
- spec/cassettes/projects_add_guest.yml
|
256
|
+
- spec/cassettes/projects_add_member.yml
|
246
257
|
- spec/cassettes/projects_all.yml
|
258
|
+
- spec/cassettes/projects_create.yml
|
259
|
+
- spec/cassettes/projects_delete.yml
|
247
260
|
- spec/cassettes/projects_find_failure.yml
|
248
261
|
- spec/cassettes/projects_find_success.yml
|
262
|
+
- spec/cassettes/projects_update.yml
|
249
263
|
- spec/cassettes/tasks_all.yml
|
264
|
+
- spec/cassettes/tasks_create.yml
|
250
265
|
- spec/cassettes/tasks_find_success.yml
|
266
|
+
- spec/cassettes/tasks_update.yml
|
251
267
|
- spec/cassettes/users_all.yml
|
252
268
|
- spec/cassettes/webhooks_all.yml
|
269
|
+
- spec/cassettes/webhooks_create.yml
|
270
|
+
- spec/cassettes/webhooks_delete.yml
|
253
271
|
- spec/spec_helper.rb
|
254
272
|
- spec/support/http_helper.rb
|