tracker_api 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbd6533872fb55f68afdf21309b4187d7061b8a6
4
- data.tar.gz: 71b0f57265c1840a1271f3025406aef56896e5c5
3
+ metadata.gz: b93cdb4a9ba207f6a81cdf67cebfddcdf2f3e99b
4
+ data.tar.gz: de0f6b60cd0b86cf669fa499efae9acdacd472e5
5
5
  SHA512:
6
- metadata.gz: 88cff726815d37af8312853895bed38974eefb993d1bbc00050fcf63bf393f2d8a6618d1a72df6ae0cbf0a0124deff6ee48f9798bc13027da0bac8a73c31ca7f
7
- data.tar.gz: a1a864149b4175c72f345ff143b60f16dd2a992d848fd55fd39300287f71e5a0000a0eacdd30783d095d70927ecc2ffbf9207b48616fc62a98ea0a57f5657c06
6
+ metadata.gz: 992fbbca70adb9c0b3ff361eefae0b18d672e74c733d874d8fab8938b336266a8005c8d4c9579a00dfd0ec8d27ef54169174cd2be1c420cf9aa0f3cf9fe0ef0b
7
+ data.tar.gz: d265ae95db9afb5e32d795e2beee4bfad199abb37840d00d8661909fefcef6129cd73f1a540275cc8bd9dee1413278da8526b47652c1984d2b4255c64bd89916
data/README.md CHANGED
@@ -68,9 +68,20 @@ comments = story.comments # co
68
68
 
69
69
  comment = story.create_comment(text: "Use the force!") # Create a new comment on the story
70
70
 
71
+ comment = story.create_comment(text: "Use the force again !", # Create a new comment on the story with
72
+ files: ['path/to/an/existing/file']) # file attachments
73
+
71
74
  comment.text += " (please be careful)"
72
75
  comment.save # Update text of an existing comment
76
+ comment.delete # Delete an existing comment
77
+
78
+ comment.create_attachments(files: ['path/to/an/existing/file']) # Add attachments to existing comment
79
+ comment.delete_attachments # Delete all attachments from a comment
73
80
 
81
+ attachments = comment.attachments # Get attachments associated with a comment
82
+ attachments.first.delete # Delete a specific attachment
83
+
84
+ comment.attachments(reload: true) # Re-load the attachments after modification
74
85
  task = story.tasks.first # Get story tasks
75
86
  task.complete = true
76
87
  task.save # Mark a task complete
@@ -95,6 +106,10 @@ client.project(project_id).stories(fields: ':default,tasks') # Eage
95
106
  story.comments(fields: ':default,person') # Eagerly get comments and the person that made the comment for a story
96
107
  ```
97
108
 
109
+ ## Error Handling
110
+ `TrackerApi::Errors::ClientError` is raised for 4xx HTTP status codes
111
+ `TrackerApi::Errors::ServerError` is raised for 5xx HTTP status codes
112
+
98
113
  ## Warning
99
114
 
100
115
  Direct mutation of an attribute value skips coercion and dirty tracking. Please use direct assignment or the specialized add_* methods to get expected behavior.
@@ -118,6 +133,7 @@ story.save
118
133
 
119
134
  - Add missing resources and endpoints
120
135
  - Add create, update, delete for resources
136
+ - Error handling for [error responses](https://www.pivotaltracker.com/help/api#Error_Responses)
121
137
 
122
138
  ## Semantic Versioning
123
139
  http://semver.org/
data/lib/tracker_api.rb CHANGED
@@ -3,6 +3,8 @@ require 'tracker_api/version'
3
3
  # dependencies
4
4
  require 'faraday'
5
5
  require 'faraday_middleware'
6
+ require 'pathname'
7
+ require 'mimemagic'
6
8
 
7
9
  if defined?(ActiveSupport)
8
10
  require 'active_support/core_ext/object/blank'
@@ -26,9 +28,12 @@ module TrackerApi
26
28
  autoload :Error, 'tracker_api/error'
27
29
  autoload :Client, 'tracker_api/client'
28
30
  autoload :Logger, 'tracker_api/logger'
31
+ autoload :FileUtility, 'tracker_api/file_utility'
29
32
 
30
33
  module Errors
31
34
  class UnexpectedData < StandardError; end
35
+ class ClientError < Error; end
36
+ class ServerError < Error; end
32
37
  end
33
38
 
34
39
  module Endpoints
@@ -55,6 +60,8 @@ module TrackerApi
55
60
  autoload :Webhook, 'tracker_api/endpoints/webhook'
56
61
  autoload :Webhooks, 'tracker_api/endpoints/webhooks'
57
62
  autoload :StoryTransitions, 'tracker_api/endpoints/story_transitions'
63
+ autoload :Attachment, 'tracker_api/endpoints/attachment'
64
+ autoload :Attachments, 'tracker_api/endpoints/attachments'
58
65
  end
59
66
 
60
67
  module Resources
@@ -85,5 +92,6 @@ module TrackerApi
85
92
  autoload :Comment, 'tracker_api/resources/comment'
86
93
  autoload :Webhook, 'tracker_api/resources/webhook'
87
94
  autoload :StoryTransition, 'tracker_api/resources/story_transition'
95
+ autoload :FileAttachment, 'tracker_api/resources/file_attachment'
88
96
  end
89
97
  end
@@ -48,40 +48,15 @@ module TrackerApi
48
48
  end
49
49
  end
50
50
 
51
- # Make a HTTP GET request
51
+ # HTTP requests methods
52
52
  #
53
53
  # @param path [String] The path, relative to api endpoint
54
54
  # @param options [Hash] Query and header params for request
55
55
  # @return [Faraday::Response]
56
- def get(path, options = {})
57
- request(:get, parse_query_and_convenience_headers(path, options))
58
- end
59
-
60
- # Make a HTTP POST request
61
- #
62
- # @param path [String] The path, relative to api endpoint
63
- # @param options [Hash] Query and header params for request
64
- # @return [Faraday::Response]
65
- def post(path, options = {})
66
- request(:post, parse_query_and_convenience_headers(path, options))
67
- end
68
-
69
- # Make a HTTP PUT request
70
- #
71
- # @param path [String] The path, relative to api endpoint
72
- # @param options [Hash] Query and header params for request
73
- # @return [Faraday::Response]
74
- def put(path, options = {})
75
- request(:put, parse_query_and_convenience_headers(path, options))
76
- end
77
-
78
- # Make a HTTP DELETE request
79
- #
80
- # @param path [String] The path, relative to api endpoint
81
- # @param options [Hash] Query and header params for request
82
- # @return [Faraday::Response]
83
- def delete(path, options = {})
84
- request(:delete, parse_query_and_convenience_headers(path, options))
56
+ %i{get post patch put delete}.each do |verb|
57
+ define_method verb do |path, options = {}|
58
+ request(verb, parse_query_and_convenience_headers(path, options))
59
+ end
85
60
  end
86
61
 
87
62
  # Make one or more HTTP GET requests, optionally fetching
@@ -248,7 +223,11 @@ module TrackerApi
248
223
  end
249
224
  response
250
225
  rescue Faraday::Error::ClientError => e
251
- raise TrackerApi::Error.new(e)
226
+ case e.response[:status]
227
+ when 400..499 then raise TrackerApi::Errors::ClientError.new(e)
228
+ when 500..599 then raise TrackerApi::Errors::ServerError.new(e)
229
+ else raise "Expected 4xx or 5xx HTTP status code"
230
+ end
252
231
  end
253
232
 
254
233
  class Pagination
@@ -0,0 +1,38 @@
1
+ module TrackerApi
2
+ module Endpoints
3
+ class Attachment
4
+ attr_accessor :client
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+ def create(comment, file)
11
+ data = client.post("/projects/#{comment.project_id}/uploads", body: FileUtility.get_file_upload(file)).body
12
+ Resources::FileAttachment.new({ comment: comment }.merge(data))
13
+ end
14
+
15
+ # TODO : Discuss before implementing this as it orphans the file.
16
+ # It deletes source, but the file name appears in the comments
17
+ # def delete(comment, file_attachment_id)
18
+ # client.delete("/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}/file_attachments/#{file_attachment_id}").body
19
+ # end
20
+
21
+ def get(comment)
22
+ data = client.get("/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}?fields=file_attachments").body["file_attachments"]
23
+ raise Errors::UnexpectedData, 'Array of file attachments expected' unless data.is_a? Array
24
+
25
+ data.map do |file_attachment|
26
+ Resources::FileAttachment.new({ comment: comment }.merge(file_attachment))
27
+ end
28
+ end
29
+
30
+ # TODO : Implement this properly.
31
+ # This results in either content of the file or an S3 link.
32
+ # the S3 link is also present in big_url attribute.
33
+ # def download(download_path)
34
+ # client.get(download_path, url: '').body
35
+ # end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,22 @@
1
+ module TrackerApi
2
+ module Endpoints
3
+ class Attachments
4
+ attr_accessor :client
5
+
6
+ def initialize(client)
7
+ @client = client
8
+ end
9
+
10
+
11
+ def create(comment, files)
12
+ return [] if files.to_a.empty?
13
+ #Check files before upload to make it all or none.
14
+ FileUtility.check_files_exist(files)
15
+ attachment = Endpoints::Attachment.new(client)
16
+ files.map do | file |
17
+ attachment.create(comment, file)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -15,13 +15,20 @@ module TrackerApi
15
15
  def update(comment, params={})
16
16
  raise ArgumentError, 'Valid comment required to update.' unless comment.instance_of?(Resources::Comment)
17
17
 
18
- data = client.put("/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}",
19
- params: params).body
18
+ path = "/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}"
19
+ path += "?fields=:default,file_attachments" if params.represented.file_attachment_ids_to_add.present? || params.represented.file_attachment_ids_to_remove.present?
20
+ data = client.put(path, params: params).body
20
21
 
21
22
  comment.attributes = data
22
23
  comment.clean!
23
24
  comment
24
25
  end
26
+
27
+ def delete(comment)
28
+ raise ArgumentError, 'Valid comment required to update.' unless comment.instance_of?(Resources::Comment)
29
+
30
+ client.delete("/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}").body
31
+ end
25
32
  end
26
33
  end
27
34
  end
@@ -0,0 +1,16 @@
1
+ module TrackerApi
2
+ class FileUtility
3
+ class << self
4
+ def get_file_upload(file)
5
+ mime_type = MimeMagic.by_path(file)
6
+ { :file => Faraday::UploadIO.new(file, mime_type) }
7
+ end
8
+
9
+ def check_files_exist(files)
10
+ files.each do | file |
11
+ raise ArgumentError, 'Attachment file not found.' unless Pathname.new(file).exist?
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,7 +1,7 @@
1
1
  module TrackerApi
2
2
  module Resources
3
3
  class Activity
4
- include Virtus.model
4
+ include Shared::Base
5
5
  include Equalizer.new(:guid)
6
6
 
7
7
  attribute :client
@@ -14,7 +14,10 @@ module TrackerApi
14
14
  attribute :created_at, DateTime
15
15
  attribute :updated_at, DateTime
16
16
  attribute :file_attachment_ids, [Integer]
17
+ attribute :file_attachments, [FileAttachment]
17
18
  attribute :google_attachment_ids, [Integer]
19
+ attribute :file_attachment_ids_to_add, [Integer]
20
+ attribute :file_attachment_ids_to_remove, [Integer]
18
21
  attribute :commit_identifier, String
19
22
  attribute :commit_type, String
20
23
  attribute :kind, String
@@ -24,6 +27,8 @@ module TrackerApi
24
27
 
25
28
  property :id
26
29
  property :text
30
+ collection :file_attachment_ids_to_add
31
+ collection :file_attachment_ids_to_remove
27
32
  end
28
33
 
29
34
  def save
@@ -31,6 +36,36 @@ module TrackerApi
31
36
 
32
37
  Endpoints::Comment.new(client).update(self, UpdateRepresenter.new(Comment.new(self.dirty_attributes)))
33
38
  end
39
+
40
+ def delete
41
+ raise ArgumentError, 'Cannot delete a comment with an unknown story_id.' if story_id.nil?
42
+
43
+ Endpoints::Comment.new(client).delete(self)
44
+ end
45
+
46
+ # @param [Hash] params attributes to create the comment with
47
+ # @return [Comment] newly created Comment
48
+ def create_attachments(params)
49
+ self.file_attachment_ids_to_add = Endpoints::Attachments.new(client).create(self, params[:files]).collect(&:id)
50
+ save
51
+ end
52
+
53
+ def delete_attachments(attachment_ids = nil)
54
+ self.file_attachment_ids_to_remove = attachment_ids || attachments.collect(&:id)
55
+ save
56
+ end
57
+
58
+ # Provides a list of all the attachments on the comment.
59
+ #
60
+ # @reload Boolean to reload the attachments
61
+ # @return [Array[FileAttachments]]
62
+ def attachments(reload: false)
63
+ if !reload && @file_attachments.present?
64
+ @file_attachments
65
+ else
66
+ @file_attachments = Endpoints::Attachment.new(client).get(self)
67
+ end
68
+ end
34
69
  end
35
70
  end
36
71
  end
@@ -34,6 +34,15 @@ module TrackerApi
34
34
 
35
35
  Endpoints::Epic.new(client).update(self, UpdateRepresenter.new(self))
36
36
  end
37
+
38
+ # @param [Hash] params attributes to create the comment with
39
+ # @return [Comment] newly created Comment
40
+ def create_comment(params)
41
+ files = params.delete(:files)
42
+ comment = Endpoints::Comment.new(client).create(project_id, id, params)
43
+ comment.create_attachments(files: files) if files.present?
44
+ comment
45
+ end
37
46
  end
38
47
  end
39
48
  end
@@ -0,0 +1,37 @@
1
+ module TrackerApi
2
+ module Resources
3
+ class FileAttachment
4
+ include Shared::Base
5
+
6
+ attribute :comment, Comment
7
+
8
+ attribute :id, Integer
9
+ attribute :big_url, String
10
+ attribute :content_type, String
11
+ attribute :created_at, DateTime
12
+ attribute :download_url, String
13
+ attribute :filename, String
14
+ attribute :height, Integer
15
+ attribute :kind, String
16
+ attribute :size, Integer
17
+ attribute :thumbnail_url, String
18
+ attribute :thumbnailable, Boolean
19
+ attribute :uploaded, Boolean
20
+ attribute :uploader_id, Integer
21
+ attribute :width, Integer
22
+
23
+ def delete
24
+ comment.delete_attachments([id])
25
+ end
26
+
27
+ # TODO : Implement download properly.
28
+ # Look at Attchment#download for more details
29
+ # The big_url actually has the AWS S3 link for the file
30
+ # def download
31
+ # file_data = Endpoints::Attachment.new(comment.client).download(download_url)
32
+ # File.open(filename, 'wb') { |fp| fp.write(file_data) }
33
+ # end
34
+ end
35
+ end
36
+ end
37
+
@@ -21,7 +21,7 @@ module TrackerApi
21
21
  attribute :integration_id, Integer
22
22
  attribute :kind, String
23
23
  attribute :label_ids, [Integer]
24
- attribute :labels, [Label], default: nil
24
+ attribute :labels, [Label]
25
25
  attribute :name, String
26
26
  attribute :owned_by_id, Integer # deprecated!
27
27
  attribute :owned_by, Person
@@ -54,7 +54,20 @@ module TrackerApi
54
54
  property :deadline
55
55
  property :requested_by_id
56
56
  property :owner_ids, if: ->(_) { !owner_ids.blank? }
57
- collection :labels, class: Label, decorator: Label::UpdateRepresenter, render_empty: true
57
+
58
+ # Use render_empty: false to address: https://github.com/dashofcode/tracker_api/issues/110
59
+ # - The default value of the labels attribute in Resources::Story is an empty array.
60
+ # - If the value of labels is not change (i.e. not dirty) then when a new Story
61
+ # is created from the dirty attributes in the save method the labels attributes becomes
62
+ # an empty array again. render_empty: false keeps this from rendering in the json passed
63
+ # in the API PUT request. It is is empty then the labels will be cleared.
64
+ # - The next issue is that there is no way to delete all the labels from a Story with
65
+ # the current implementation.
66
+ #
67
+ # NOTE: There are two solutions: 1) remove dirty tracking 2) rewrite without virtus
68
+ # SEE: https://github.com/dashofcode/tracker_api/pull/98
69
+ collection :labels, class: Label, decorator: Label::UpdateRepresenter, render_empty: false
70
+
58
71
  property :integration_id
59
72
  property :external_id
60
73
  end
@@ -108,11 +121,11 @@ module TrackerApi
108
121
  #
109
122
  # @param [Hash] params
110
123
  # @return [Array[Comment]]
111
- def comments(params = {})
112
- if params.blank? && @comments.present?
124
+ def comments(reload: false)
125
+ if !reload && @comments.present?
113
126
  @comments
114
127
  else
115
- @comments = Endpoints::Comments.new(client).get(project_id, id, params)
128
+ @comments = Endpoints::Comments.new(client).get(project_id, id)
116
129
  end
117
130
  end
118
131
 
@@ -161,12 +174,16 @@ module TrackerApi
161
174
  # @param [Hash] params attributes to create the comment with
162
175
  # @return [Comment] newly created Comment
163
176
  def create_comment(params)
164
- Endpoints::Comment.new(client).create(project_id, id, params)
177
+ files = params.delete(:files)
178
+ comment = Endpoints::Comment.new(client).create(project_id, id, params)
179
+ comment.create_attachments(files: files) if files.present?
180
+ comment
165
181
  end
166
182
 
167
183
  # Save changes to an existing Story.
168
184
  def save
169
185
  raise ArgumentError, 'Can not update a story with an unknown project_id.' if project_id.nil?
186
+ return self unless dirty?
170
187
 
171
188
  Endpoints::Story.new(client).update(self, UpdateRepresenter.new(Story.new(self.dirty_attributes)))
172
189
  end
@@ -1,3 +1,3 @@
1
1
  module TrackerApi
2
- VERSION = '1.7.1'
2
+ VERSION = '1.8.0'
3
3
  end
@@ -14,7 +14,7 @@ module Virtus
14
14
  if !value_coerced?(output) && input.blank?
15
15
  nil
16
16
  # Added to nullify anything that is blank not just strings.
17
- elsif output.blank?
17
+ elsif output.blank? && output != false
18
18
  nil
19
19
  else
20
20
  output
data/test/comment_test.rb CHANGED
@@ -21,6 +21,18 @@ describe TrackerApi::Resources::Comment do
21
21
  comment.clean?.must_equal true
22
22
  end
23
23
 
24
+ it 'can create a comment with file attachment' do
25
+ text = "Test creating a comment"
26
+ comment = nil
27
+ files = [File.expand_path('../Gemfile', File.dirname(__FILE__))]
28
+ VCR.use_cassette('create comment with attachment', record: :new_episodes) do
29
+ comment = story.create_comment(text: text, files: files)
30
+ end
31
+ comment.text.must_equal text
32
+ comment.attachments.size.must_equal 1
33
+ comment.clean?.must_equal true
34
+ end
35
+
24
36
  it 'can update an existing comment' do
25
37
  new_text = "#{existing_comment.text}+"
26
38
  existing_comment.text = new_text
@@ -32,4 +44,34 @@ describe TrackerApi::Resources::Comment do
32
44
  existing_comment.text.must_equal new_text
33
45
  existing_comment.clean?.must_equal true
34
46
  end
47
+
48
+ it 'can create attachments in a comment' do
49
+ files = [File.expand_path('../Gemfile', File.dirname(__FILE__))]
50
+ VCR.use_cassette('create attachments', record: :new_episodes) do
51
+ existing_comment.create_attachments(files: files)
52
+ existing_comment.attachments.size.must_equal 1
53
+ existing_comment.clean?.must_equal true
54
+ end
55
+ end
56
+
57
+ it 'can delete attachments in a comment' do
58
+ files = [File.expand_path('../Gemfile', File.dirname(__FILE__))]
59
+ VCR.use_cassette('delete attachments', record: :new_episodes) do
60
+ existing_comment.create_attachments(files: files)
61
+ existing_comment.attachments.size.must_equal 1
62
+ existing_comment.delete_attachments
63
+ existing_comment.attachments.size.must_equal 0
64
+ end
65
+ end
66
+
67
+ it 'can delete a comment' do
68
+ VCR.use_cassette('delete comment', record: :new_episodes) do
69
+ current_story = project.story(story_id)
70
+ new_comment_id = current_story.create_comment(text: "test comment").id
71
+ current_story.comments.last.id.must_equal new_comment_id
72
+ current_story.comments.last.delete
73
+ current_story = project.story(story_id)
74
+ current_story.comments.last.id.wont_equal new_comment_id
75
+ end
76
+ end
35
77
  end
@@ -0,0 +1,41 @@
1
+ require_relative 'minitest_helper'
2
+
3
+ describe TrackerApi::Error do
4
+ let(:pt_user) { PT_USER_1 }
5
+ let(:client) { TrackerApi::Client.new token: pt_user[:token] }
6
+ let(:options) { { url: nil, headers: nil } }
7
+
8
+ it 'raises ClientError for 4xx HTTP status codes' do
9
+ (400..499).each do |status_code|
10
+ mock_faraday_error(status_code)
11
+ assert_raises TrackerApi::Errors::ClientError do
12
+ client.send(:request, :get, options)
13
+ end
14
+ end
15
+ end
16
+
17
+ it 'raises ServerError for 5xx HTTP status codes' do
18
+ (500..599).each do |status_code|
19
+ mock_faraday_error(status_code)
20
+ assert_raises TrackerApi::Errors::ServerError do
21
+ client.send(:request, :get, options)
22
+ end
23
+ end
24
+ end
25
+
26
+ it 'raises RuntimeError for HTTP status codes < 400 and > 500' do
27
+ [399, 600].each do |status_code|
28
+ mock_faraday_error(status_code)
29
+ assert_raises RuntimeError, "Expected 4xx or 5xx HTTP status code" do
30
+ client.send(:request, :get, options)
31
+ end
32
+ end
33
+ end
34
+
35
+ # Simulate the error Faraday will raise with a specific HTTP status code so
36
+ # we can test our rescuing of those errors
37
+ def mock_faraday_error(status_code)
38
+ ::Faraday::Connection.any_instance.stubs(:get).
39
+ raises(::Faraday::Error::ClientError.new(nil, { status: status_code}))
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ require_relative 'minitest_helper'
2
+
3
+ describe TrackerApi::Resources::FileAttachment do
4
+ let(:pt_user) { PT_USER_1 }
5
+ let(:client) { TrackerApi::Client.new token: pt_user[:token] }
6
+ let(:project_id) { pt_user[:project_id] }
7
+ let(:project) { VCR.use_cassette('get project') { client.project(project_id) } }
8
+ let(:story_id) { '66728004' }
9
+ let(:story) { VCR.use_cassette('get story') { project.story(story_id) } }
10
+
11
+ it 'can be deleted' do
12
+ VCR.use_cassette('delete an attachment', record: :new_episodes) do
13
+ comment_with_attachments = story.create_comment(text: "test comment", files: [File.expand_path('../Gemfile', File.dirname(__FILE__))])
14
+ comment_with_attachments.attachments(reload: true).size.must_equal 1
15
+ comment_with_attachments.attachments.first.delete
16
+ comment_with_attachments.attachments(reload: true).size.must_equal 1
17
+ end
18
+ end
19
+ end
data/test/story_test.rb CHANGED
@@ -79,10 +79,6 @@ describe TrackerApi::Resources::Story do
79
79
  original_labels = story_in_epic.labels
80
80
  original_label_list = story_in_epic.label_list
81
81
 
82
- VCR.use_cassette('create story comment', record: :new_episodes) do
83
- story_in_epic.create_comment text: "This is a test comment."
84
- end
85
-
86
82
  story_in_epic.estimate = 2
87
83
  story_in_epic.current_state = 'started'
88
84
 
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/uploads","body":{"encoding":"UTF-8","string":"-------------RubyMultipartPost-f92971c29179f1c8600d3c801d111643\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Gemfile\"\r\nContent-Length: 144\r\nContent-Type: \r\nContent-Transfer-Encoding: binary\r\n\r\nsource 'https://rubygems.org'\n\n# Specify your gem's dependencies in tracker_api.gemspec\ngemspec\n\ngem 'coveralls', group: :test, require: false\n\n\r\n-------------RubyMultipartPost-f92971c29179f1c8600d3c801d111643--\r\n\r\n"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["multipart/form-data; boundary=-----------RubyMultipartPost-f92971c29179f1c8600d3c801d111643"],"Content-Length":["419"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:38:00 GMT"],"Etag":["\"a8b9a877d3f14ac48a476eaeb4f35435\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["c1138d0db7a079badade2f17f867e4a3"],"X-Runtime":["0.759489"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["249"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["bb5923e0-4375-4f87-4840-7a190c15dddf"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["256"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"file_attachment\",\"id\":80978531,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T00:38:00Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80978531/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:38:02 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/120836920?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"text\":\"This is a comment.+++\",\"file_attachment_ids_to_add\":[80978531]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:38:03 GMT"],"Etag":["\"548b5ab503974ac018634913e32d2470\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["bffffc79c6383a4707f91c4ce99dc29a"],"X-Runtime":["0.770136"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["251"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["97a2d369-aee0-4ef4-4b77-1bac61e9d31c"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["176"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T00:38:03Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:38:03 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/120836920?fields=file_attachments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:39:15 GMT"],"Etag":["\"67297da329b710a401c06c8a8041af2b\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["e4ac99a72e254147411303f276501bbd"],"X-Runtime":["0.087594"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["251"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["1fbcc6ba-e694-4df3-7bf2-ebf775a817d1"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1047"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80978531,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T00:38:00Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80978531/download\",\"uploaded\":true,\"big_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80978531/Gemfile_big?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T003915Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=e7ec11a96a7993cc00e05d157e401535e9e3bed337a89030e4d521d37aba1a4c\",\"thumbnail_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80978531/Gemfile_thumb?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T003915Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=8aaa3de2adab6ff6334e9cb5dab80d5fedb053505cb6ed6a4f3834861283b106\"}],\"id\":120836920}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:39:15 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -1 +1 @@
1
- {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"Test creating a comment\"}"},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Wed, 03 May 2017 23:29:39 GMT"],"Etag":["\"da92c553a8b55689359d240720a6f827\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["6d3b5cb0981a0bc97a2d9f0961324dcc"],"X-Runtime":["0.205489"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["232"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["dadd7537-fe99-477d-653f-1951652b588e"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["178"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"}"},"http_version":null},"recorded_at":"Wed, 03 May 2017 23:29:39 GMT"}],"recorded_with":"VCR 2.9.3"}
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"Test creating a comment\"}"},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Wed, 03 May 2017 23:29:39 GMT"],"Etag":["\"da92c553a8b55689359d240720a6f827\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["6d3b5cb0981a0bc97a2d9f0961324dcc"],"X-Runtime":["0.205489"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["232"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["dadd7537-fe99-477d-653f-1951652b588e"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["178"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"}"},"http_version":null},"recorded_at":"Wed, 03 May 2017 23:29:39 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/170363243","body":{"encoding":"UTF-8","string":"{}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":400,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["no-cache"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:26:32 GMT"],"Server":["nginx + Phusion Passenger"],"Status":["400 Bad Request"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["bb9626e763089e372c20ed1f559a11a3"],"X-Runtime":["0.033398"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["ca7a904a-4c12-4513-68c8-b8a57e549abc"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["336"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"code\":\"invalid_parameter\",\"kind\":\"error\",\"error\":\"One or more request parameters was missing or invalid.\",\"general_problem\":\"this endpoint requires at least one of the following parameters: attachment_ids_to_remove, attachments_to_add, file_attachment_ids_to_add, file_attachment_ids_to_remove, google_attachment_ids_to_remove, text\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:26:32 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"Test creating a comment\"}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:26:33 GMT"],"Etag":["\"9dda396ee224c3f93cf6f3be29f80485\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["452d4de82b33b44859cb65ab066f2f13"],"X-Runtime":["0.217096"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["247"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["631eaad3-3b87-432f-432c-60a25fbf5c08"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["178"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T00:26:32Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:26:33 GMT"},{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/uploads","body":{"encoding":"UTF-8","string":"-------------RubyMultipartPost-4971773737ecf554696d1ee47a4823e4\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Gemfile\"\r\nContent-Length: 144\r\nContent-Type: \r\nContent-Transfer-Encoding: binary\r\n\r\nsource 'https://rubygems.org'\n\n# Specify your gem's dependencies in tracker_api.gemspec\ngemspec\n\ngem 'coveralls', group: :test, require: false\n\n\r\n-------------RubyMultipartPost-4971773737ecf554696d1ee47a4823e4--\r\n\r\n"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["multipart/form-data; boundary=-----------RubyMultipartPost-4971773737ecf554696d1ee47a4823e4"],"Content-Length":["419"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:26:34 GMT"],"Etag":["\"ee1c20be02be104aca3828b971b4a9c3\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["8f3a8669ee9c2aa65a5ed866f3f45779"],"X-Runtime":["0.612263"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["247"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["7e4da523-e419-4182-53dc-6c8fe0a1aa60"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["256"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"file_attachment\",\"id\":80978495,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T00:26:33Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80978495/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:26:34 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173608993?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"file_attachment_ids_to_add\":[80978495]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 00:26:34 GMT"],"Etag":["\"2ff28be74a2168f5549472c305467c10\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["d45f4dc83fef95504ace7b97668c9f13"],"X-Runtime":["0.268861"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["248"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["b017eef5-a8f7-4dcc-5c9f-36b30b904cc3"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["456"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80978495,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T00:26:33Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80978495/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}],\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T00:26:34Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 00:26:34 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -1 +1 @@
1
- {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728030/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"This is a test comment.\"}"},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Wed, 03 May 2017 23:29:45 GMT"],"Etag":["\"0ae883818e80288c11e26305f2b9d9de\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["3f4a528c8ca42da1af2a0949c3012633"],"X-Runtime":["0.154335"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["238"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["7cabdec2-5557-489c-46e5-bf1fc55621ac"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["178"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":170363251,\"story_id\":66728030,\"text\":\"This is a test comment.\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:45Z\",\"updated_at\":\"2017-05-03T23:29:45Z\"}"},"http_version":null},"recorded_at":"Wed, 03 May 2017 23:29:45 GMT"}],"recorded_with":"VCR 2.9.3"}
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728030/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"This is a test comment.\"}"},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Wed, 09 Aug 2017 22:02:51 GMT"],"Etag":["\"dda3e3dc085f4c98ff5f20fa92abf0ee\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["c5ee798d0eaea73fe5df666bf14ca615"],"X-Runtime":["0.286458"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["294"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["ffae63d3-492f-49db-4eb4-81f7ba85633b"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["178"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":178211829,\"story_id\":66728030,\"text\":\"This is a test comment.\",\"person_id\":1266314,\"created_at\":\"2017-08-09T22:02:51Z\",\"updated_at\":\"2017-08-09T22:02:51Z\"}"},"http_version":null},"recorded_at":"Wed, 09 Aug 2017 22:02:57 GMT"}],"recorded_with":"VCR 2.9.3"}
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"test comment\"}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:32:05 GMT"],"Etag":["\"41563e5f526f1848b15c73c0e35da4d1\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["15f2a2b7c1afc750ed4bc4a9afd345eb"],"X-Runtime":["0.247018"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["274"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["1e6356c1-5099-4c60-731a-9795c8ee7f09"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["167"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":173612961,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:32:05Z\",\"updated_at\":\"2017-06-12T04:32:05Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:32:05 GMT"},{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/uploads","body":{"encoding":"UTF-8","string":"-------------RubyMultipartPost-9d081de8e923a5f828bd19095e2d4614\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Gemfile\"\r\nContent-Length: 144\r\nContent-Type: \r\nContent-Transfer-Encoding: binary\r\n\r\nsource 'https://rubygems.org'\n\n# Specify your gem's dependencies in tracker_api.gemspec\ngemspec\n\ngem 'coveralls', group: :test, require: false\n\n\r\n-------------RubyMultipartPost-9d081de8e923a5f828bd19095e2d4614--\r\n\r\n"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["multipart/form-data; boundary=-----------RubyMultipartPost-9d081de8e923a5f828bd19095e2d4614"],"Content-Length":["419"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:32:06 GMT"],"Etag":["\"668d416b586c3c528748c4c2e233a0da\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["e8798bd49ade52d16445406840c57697"],"X-Runtime":["0.690138"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["274"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["97f94c33-a3ef-4a1c-5ffc-bc3acfa17f69"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["256"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"file_attachment\",\"id\":80981051,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T04:32:06Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80981051/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:32:06 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612961?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"file_attachment_ids_to_add\":[80981051]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:32:07 GMT"],"Etag":["\"2a3224d7487c35a703524109f9a6f727\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["ef50a1a6b2e974e6d1963d866f031183"],"X-Runtime":["0.242017"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["275"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["d4b02942-2a14-4bbb-5b59-2ec23d0b20d0"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["445"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80981051,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T04:32:06Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80981051/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}],\"id\":173612961,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:32:05Z\",\"updated_at\":\"2017-06-12T04:32:07Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:32:07 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612961?fields=file_attachments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:35:19 GMT"],"Etag":["\"99e589a588c8942ef0fee8918334f509\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["df1a64a0d133cfaa26e4860d26fff982"],"X-Runtime":["0.053143"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["276"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["f60cfa8a-a7e5-492f-7e23-87ccf8310fe6"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1047"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80981051,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T04:32:06Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80981051/download\",\"uploaded\":true,\"big_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_big?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=4d56cd218c2118fc8ecbe1a85f61a1a580e55d5a3005560e92840417cfb15456\",\"thumbnail_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_thumb?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=d00de998df6c5ed301c9fc84b5d7889b19f55da0ffd169bc0596e06a7ef39212\"}],\"id\":173612961}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:35:19 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612961?fields=file_attachments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:35:22 GMT"],"Etag":["\"99e589a588c8942ef0fee8918334f509\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["b152a48bc83e3fdc30a2b2476abe2136"],"X-Runtime":["0.039146"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["276"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["424956d8-fb29-47da-67be-81ae11805b88"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1047"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80981051,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T04:32:06Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80981051/download\",\"uploaded\":true,\"big_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_big?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=4d56cd218c2118fc8ecbe1a85f61a1a580e55d5a3005560e92840417cfb15456\",\"thumbnail_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_thumb?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=d00de998df6c5ed301c9fc84b5d7889b19f55da0ffd169bc0596e06a7ef39212\"}],\"id\":173612961}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:35:22 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612961?fields=file_attachments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:35:24 GMT"],"Etag":["\"99e589a588c8942ef0fee8918334f509\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["27ce8539c1aabd5c68cddc78487bb4eb"],"X-Runtime":["0.040199"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["276"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["9a969e64-dd8a-4eab-5e4b-36d2e7688ced"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1047"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80981051,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T04:32:06Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80981051/download\",\"uploaded\":true,\"big_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_big?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=4d56cd218c2118fc8ecbe1a85f61a1a580e55d5a3005560e92840417cfb15456\",\"thumbnail_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/80981051/Gemfile_thumb?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJEX3ET63U5T77TYA%2F20170612%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T043519Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=d00de998df6c5ed301c9fc84b5d7889b19f55da0ffd169bc0596e06a7ef39212\"}],\"id\":173612961}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:35:24 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612961?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"file_attachment_ids_to_remove\":[80981051]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:36:28 GMT"],"Etag":["\"083511cb26d157694ae7271dee2e8505\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["4294da1f152d4294ee10f60706d10dec"],"X-Runtime":["0.221678"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["277"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["4834e483-a596-44b1-6669-4e8ef9edf255"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["189"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"file_attachments\":[],\"id\":173612961,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:32:05Z\",\"updated_at\":\"2017-06-12T04:36:28Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:36:28 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/uploads","body":{"encoding":"UTF-8","string":"-------------RubyMultipartPost-e71ba1127ef9ed2ec4fde8f7880298c3\r\nContent-Disposition: form-data; name=\"file\"; filename=\"Gemfile\"\r\nContent-Length: 144\r\nContent-Type: \r\nContent-Transfer-Encoding: binary\r\n\r\nsource 'https://rubygems.org'\n\n# Specify your gem's dependencies in tracker_api.gemspec\ngemspec\n\ngem 'coveralls', group: :test, require: false\n\n\r\n-------------RubyMultipartPost-e71ba1127ef9ed2ec4fde8f7880298c3--\r\n\r\n"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["multipart/form-data; boundary=-----------RubyMultipartPost-e71ba1127ef9ed2ec4fde8f7880298c3"],"Content-Length":["419"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 12 Jun 2017 03:47:36 GMT"],"Etag":["\"86ede73aac9ecc4d5588eda2ccbc2818\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["6f6980b71782ac39fca091273526155f"],"X-Runtime":["0.755678"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["267"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["a8e2b681-474f-4bdd-41d7-19d4b9a71b05"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["256"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"file_attachment\",\"id\":80980447,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T03:47:35Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80980447/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 03:47:36 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/120836920?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"file_attachment_ids_to_add\":[80980447]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 03:47:37 GMT"],"Etag":["\"d8e22f1a89e6f112418dffc9e4e1c9ec\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["5e8bed6ad9e1b953ab31379c767c2eff"],"X-Runtime":["0.252265"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["268"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["a6203ab7-9817-4f61-7102-7ab438b99dda"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["454"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":80980447,\"filename\":\"Gemfile\",\"created_at\":\"2017-06-12T03:47:35Z\",\"uploader_id\":1266314,\"thumbnailable\":false,\"size\":144,\"download_url\":\"/file_attachments/80980447/download\",\"uploaded\":false,\"big_url\":\"#\",\"thumbnail_url\":\"#\"}],\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 03:47:37 GMT"},{"request":{"method":"put","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/120836920?fields=%3Adefault%2Cfile_attachments","body":{"encoding":"UTF-8","string":"{\"file_attachment_ids_to_remove\":[80980447]}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 03:47:38 GMT"],"Etag":["\"9a54d4be19aca5671ef5e2ddbaf3297c\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["56f21b1590d98b0b0f24766ea098dc61"],"X-Runtime":["0.234891"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["269"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["c5a95f67-7b90-4c70-4ac7-de424f4b7bc4"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["198"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"file_attachments\":[],\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 03:47:38 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/120836920?fields=file_attachments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 03:47:38 GMT"],"Etag":["\"b579761d6d39646cda5c21c8d061abfa\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["51d2b1192eeadd236741f5046d67a673"],"X-Runtime":["0.063679"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["269"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["fac0b9a4-d015-4770-4e0f-4193a18ca05c"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["38"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"file_attachments\":[],\"id\":120836920}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 03:47:38 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 07 Sep 2017 19:20:28 GMT"],"Etag":["\"14e5386d20bcf42e6463dc93be787e76\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["e49c28d4b0904dfbaccc4f3886274558"],"X-Runtime":["0.033555"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["374"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["295d3cbf-181b-41a5-552f-68ec0d0d5612"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["564"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728004,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-09-07T19:19:18Z\",\"story_type\":\"bug\",\"name\":\"Some product photos not scaled properly when browsing products+++++++++\",\"description\":\"++++++++++\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728004\",\"project_id\":1027488,\"owner_ids\":[1266314,1266316],\"labels\":[{\"id\":11049870,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label2\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"}],\"owned_by_id\":1266314}"},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:29 GMT"},{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"test comment\"}"},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 07 Sep 2017 19:20:29 GMT"],"Etag":["\"0c3769a293507027104d2dbbfd1eda01\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["e347ed6bda67e96c1ed67baf7c9752d1"],"X-Runtime":["0.355775"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["375"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["cdf3493b-eb29-4373-61e8-84c78c464bf2"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["167"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":179393464,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-09-07T19:20:29Z\",\"updated_at\":\"2017-09-07T19:20:29Z\"}"},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:30 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 07 Sep 2017 19:20:29 GMT"],"Etag":["\"4f5107262e0d2d51fba801682ddaa4d2\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["25855886838120df1d29ed2effee31eb"],"X-Runtime":["0.047079"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["375"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["594d26d2-46d6-4da1-70f2-3e4667838656"],"X-Xss-Protection":["1; mode=block"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"[{\"kind\":\"comment\",\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"},{\"kind\":\"comment\",\"id\":120836938,\"story_id\":66728004,\"text\":\"This is another comment.\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:14:04Z\",\"updated_at\":\"2015-12-17T22:14:04Z\"},{\"kind\":\"comment\",\"id\":155658605,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2016-11-16T14:17:47Z\",\"updated_at\":\"2016-11-16T14:17:47Z\"},{\"kind\":\"comment\",\"id\":170362899,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:23:33Z\",\"updated_at\":\"2017-05-03T23:23:33Z\"},{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"},{\"kind\":\"comment\",\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T02:13:39Z\"},{\"kind\":\"comment\",\"id\":173610235,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:16:13Z\",\"updated_at\":\"2017-06-12T02:16:15Z\"},{\"kind\":\"comment\",\"id\":173610269,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:19:10Z\",\"updated_at\":\"2017-06-12T02:19:13Z\"},{\"kind\":\"comment\",\"id\":173611341,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:19:55Z\",\"updated_at\":\"2017-06-12T03:19:58Z\"},{\"kind\":\"comment\",\"id\":173611767,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:41:24Z\",\"updated_at\":\"2017-06-12T03:41:26Z\"},{\"kind\":\"comment\",\"id\":173612961,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:32:05Z\",\"updated_at\":\"2017-06-12T04:36:28Z\"},{\"kind\":\"comment\",\"id\":179393464,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-09-07T19:20:29Z\",\"updated_at\":\"2017-09-07T19:20:29Z\"}]"},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:30 GMT"},{"request":{"method":"delete","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/179393464","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":204,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["no-cache"],"Date":["Thu, 07 Sep 2017 19:20:30 GMT"],"Server":["nginx + Phusion Passenger"],"Status":["204 No Content"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["9740f3c9404a26381790f312c9da3ddf"],"X-Runtime":["0.189029"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["376"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["228ebcf2-53c7-4145-7971-2f9628d275b3"],"X-Xss-Protection":["1; mode=block"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":""},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:30 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 07 Sep 2017 19:20:30 GMT"],"Etag":["\"d8da990917651efa7ea4e048e4d69315\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["f62ad56fab351ba9cad68a6133c499f8"],"X-Runtime":["0.071403"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["376"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["f668c421-4b19-4a68-43f0-770b775dd517"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["564"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728004,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-09-07T19:20:29Z\",\"story_type\":\"bug\",\"name\":\"Some product photos not scaled properly when browsing products+++++++++\",\"description\":\"++++++++++\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728004\",\"project_id\":1027488,\"owner_ids\":[1266314,1266316],\"labels\":[{\"id\":11049870,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label2\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"}],\"owned_by_id\":1266314}"},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:31 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.13.0"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 07 Sep 2017 19:20:30 GMT"],"Etag":["\"8c0485d534b5a7734cc751bb40948b99\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["1612f25034523401af55f2ca36118724"],"X-Runtime":["0.071299"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["376"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["c1d15d77-eada-4930-7272-bf051d9ce028"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1958"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"[{\"kind\":\"comment\",\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"},{\"kind\":\"comment\",\"id\":120836938,\"story_id\":66728004,\"text\":\"This is another comment.\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:14:04Z\",\"updated_at\":\"2015-12-17T22:14:04Z\"},{\"kind\":\"comment\",\"id\":155658605,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2016-11-16T14:17:47Z\",\"updated_at\":\"2016-11-16T14:17:47Z\"},{\"kind\":\"comment\",\"id\":170362899,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:23:33Z\",\"updated_at\":\"2017-05-03T23:23:33Z\"},{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"},{\"kind\":\"comment\",\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T02:13:39Z\"},{\"kind\":\"comment\",\"id\":173610235,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:16:13Z\",\"updated_at\":\"2017-06-12T02:16:15Z\"},{\"kind\":\"comment\",\"id\":173610269,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:19:10Z\",\"updated_at\":\"2017-06-12T02:19:13Z\"},{\"kind\":\"comment\",\"id\":173611341,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:19:55Z\",\"updated_at\":\"2017-06-12T03:19:58Z\"},{\"kind\":\"comment\",\"id\":173611767,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:41:24Z\",\"updated_at\":\"2017-06-12T03:41:26Z\"},{\"kind\":\"comment\",\"id\":173612961,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:32:05Z\",\"updated_at\":\"2017-06-12T04:36:28Z\"}]"},"http_version":null},"recorded_at":"Thu, 07 Sep 2017 19:20:31 GMT"}],"recorded_with":"VCR 2.9.3"}
@@ -0,0 +1 @@
1
+ {"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:07:14 GMT"],"Etag":["\"2cd092417cc39196e024d60eca4def51\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["b1595d423abeeeb3fbc97bba7fa6a0f7"],"X-Runtime":["0.048613"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["271"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["cff295b2-d392-4a81-4011-83eb4917e418"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["857"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728004,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-06-12T04:04:41Z\",\"story_type\":\"bug\",\"name\":\"Some product photos not scaled properly when browsing products+++++++++\",\"description\":\"++++++++++\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728004\",\"project_id\":1027488,\"owner_ids\":[1266314,1266316],\"labels\":[{\"id\":11049868,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label1\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":11049870,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label2\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":14060665,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"super-special-label\",\"created_at\":\"2016-02-12T23:45:13Z\",\"updated_at\":\"2016-02-12T23:45:13Z\"}],\"owned_by_id\":1266314}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:14 GMT"},{"request":{"method":"post","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"UTF-8","string":"{\"text\":\"test comment\"}"},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"],"Content-Type":["application/json"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:07:15 GMT"],"Etag":["\"690da1f5aa7d5d77f2b84757b62d5a74\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["3c0c84cd5052e5f1d0821700721e73e4"],"X-Runtime":["0.357093"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["272"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["34a416f9-75c7-4ef1-6d87-e2b3a8715b94"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["167"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"comment\",\"id\":173612365,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:07:15Z\",\"updated_at\":\"2017-06-12T04:07:15Z\"}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:15 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:07:15 GMT"],"Etag":["\"d4f26a8176147c7f26f8ba7d9e96bb10\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["76ff95f02d0a46b0e8910c6dd1816316"],"X-Runtime":["0.039079"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["272"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["1fc891c9-eb71-4e53-77d5-9e4eea0eed7c"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1958"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"[{\"kind\":\"comment\",\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"},{\"kind\":\"comment\",\"id\":120836938,\"story_id\":66728004,\"text\":\"This is another comment.\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:14:04Z\",\"updated_at\":\"2015-12-17T22:14:04Z\"},{\"kind\":\"comment\",\"id\":155658605,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2016-11-16T14:17:47Z\",\"updated_at\":\"2016-11-16T14:17:47Z\"},{\"kind\":\"comment\",\"id\":170362899,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:23:33Z\",\"updated_at\":\"2017-05-03T23:23:33Z\"},{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"},{\"kind\":\"comment\",\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T02:13:39Z\"},{\"kind\":\"comment\",\"id\":173610235,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:16:13Z\",\"updated_at\":\"2017-06-12T02:16:15Z\"},{\"kind\":\"comment\",\"id\":173610269,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:19:10Z\",\"updated_at\":\"2017-06-12T02:19:13Z\"},{\"kind\":\"comment\",\"id\":173611341,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:19:55Z\",\"updated_at\":\"2017-06-12T03:19:58Z\"},{\"kind\":\"comment\",\"id\":173611767,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:41:24Z\",\"updated_at\":\"2017-06-12T03:41:26Z\"},{\"kind\":\"comment\",\"id\":173612365,\"story_id\":66728004,\"text\":\"test comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T04:07:15Z\",\"updated_at\":\"2017-06-12T04:07:15Z\"}]"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:15 GMT"},{"request":{"method":"delete","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments/173612365","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":204,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["no-cache"],"Date":["Mon, 12 Jun 2017 04:07:16 GMT"],"Server":["nginx + Phusion Passenger"],"Status":["204 No Content"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["invalidate, pass"],"X-Request-Id":["c56f43831c92d87ae6ac40229212050c"],"X-Runtime":["0.205759"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["273"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["7b4a7033-c274-4f52-6d66-281a3bfa88f5"],"X-Xss-Protection":["1; mode=block"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":""},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:16 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:07:16 GMT"],"Etag":["\"eec3b265138bb1155a01183e508d2dc8\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["086d2386852bb5b5226c7a3e18f94fd9"],"X-Runtime":["0.034774"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["273"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["37991ea4-0b56-4272-6aa9-a50e43ef8f03"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["857"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728004,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-06-12T04:07:15Z\",\"story_type\":\"bug\",\"name\":\"Some product photos not scaled properly when browsing products+++++++++\",\"description\":\"++++++++++\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728004\",\"project_id\":1027488,\"owner_ids\":[1266314,1266316],\"labels\":[{\"id\":11049868,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label1\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":11049870,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"label2\",\"created_at\":\"2015-03-07T12:51:39Z\",\"updated_at\":\"2015-03-07T12:51:39Z\"},{\"id\":14060665,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"super-special-label\",\"created_at\":\"2016-02-12T23:45:13Z\",\"updated_at\":\"2016-02-12T23:45:13Z\"}],\"owned_by_id\":1266314}"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:16 GMT"},{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728004/comments","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.1.2 (x86_64-darwin16.0; ruby) TrackerApi/1.7.1 Faraday/0.12.1"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 12 Jun 2017 04:07:16 GMT"],"Etag":["\"f91060aa48f154a44408da1da7f2d96b\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["0962d415aac240d888d2804805562cc0"],"X-Runtime":["0.040993"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["273"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["fbeaf102-1e6d-42b8-670e-eb7236d7400c"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["1790"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"[{\"kind\":\"comment\",\"id\":120836920,\"story_id\":66728004,\"text\":\"This is a comment.+++\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:13:55Z\",\"updated_at\":\"2017-06-12T03:47:37Z\"},{\"kind\":\"comment\",\"id\":120836938,\"story_id\":66728004,\"text\":\"This is another comment.\",\"person_id\":1266314,\"created_at\":\"2015-12-17T22:14:04Z\",\"updated_at\":\"2015-12-17T22:14:04Z\"},{\"kind\":\"comment\",\"id\":155658605,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2016-11-16T14:17:47Z\",\"updated_at\":\"2016-11-16T14:17:47Z\"},{\"kind\":\"comment\",\"id\":170362899,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:23:33Z\",\"updated_at\":\"2017-05-03T23:23:33Z\"},{\"kind\":\"comment\",\"id\":170363243,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-05-03T23:29:39Z\",\"updated_at\":\"2017-05-03T23:29:39Z\"},{\"kind\":\"comment\",\"id\":173608993,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T00:26:32Z\",\"updated_at\":\"2017-06-12T02:13:39Z\"},{\"kind\":\"comment\",\"id\":173610235,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:16:13Z\",\"updated_at\":\"2017-06-12T02:16:15Z\"},{\"kind\":\"comment\",\"id\":173610269,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T02:19:10Z\",\"updated_at\":\"2017-06-12T02:19:13Z\"},{\"kind\":\"comment\",\"id\":173611341,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:19:55Z\",\"updated_at\":\"2017-06-12T03:19:58Z\"},{\"kind\":\"comment\",\"id\":173611767,\"story_id\":66728004,\"text\":\"Test creating a comment\",\"person_id\":1266314,\"created_at\":\"2017-06-12T03:41:24Z\",\"updated_at\":\"2017-06-12T03:41:26Z\"}]"},"http_version":null},"recorded_at":"Mon, 12 Jun 2017 04:07:16 GMT"}],"recorded_with":"VCR 3.0.3"}
@@ -1 +1 @@
1
- {"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728030","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.0 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Wed, 03 May 2017 23:29:45 GMT"],"Etag":["\"1fd905e46c27c4c82fef34c22783bf3e\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["6ff827dfb4fc2bbf7eb887e83b285aec"],"X-Runtime":["0.035813"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["237"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["e5b6fb6b-cf70-4614-5d67-0824b5d23cce"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["650"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728030,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-05-03T23:23:55Z\",\"estimate\":2,\"story_type\":\"feature\",\"name\":\"Admin can review all order questions and send responses to shoppers\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728030\",\"project_id\":1027488,\"owner_ids\":[],\"labels\":[{\"id\":7849080,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"admin\",\"created_at\":\"2014-03-02T07:11:04Z\",\"updated_at\":\"2014-03-02T07:11:04Z\"},{\"id\":7849094,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"orders\",\"created_at\":\"2014-03-02T07:11:05Z\",\"updated_at\":\"2014-03-02T07:11:05Z\"}]}"},"http_version":null},"recorded_at":"Wed, 03 May 2017 23:29:45 GMT"}],"recorded_with":"VCR 2.9.3"}
1
+ {"http_interactions":[{"request":{"method":"get","uri":"https://www.pivotaltracker.com/services/v5/projects/1027488/stories/66728030","body":{"encoding":"US-ASCII","string":""},"headers":{"User-Agent":["Ruby/2.3.1 (x86_64-darwin15; ruby) TrackerApi/1.7.1 Faraday/0.9.2"],"X-TrackerToken":["d55c3bc1f74346b843ca84ba340b29bf"]}},"response":{"status":{"code":200,"message":null},"headers":{"Access-Control-Allow-Credentials":["false"],"Access-Control-Allow-Headers":["X-TrackerToken,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-Tracker-Warn-Unless-Project-Version-Is"],"Access-Control-Allow-Methods":["GET, POST, PUT, DELETE, OPTIONS"],"Access-Control-Allow-Origin":["*"],"Cache-Control":["max-age=0, private, must-revalidate"],"Content-Type":["application/json; charset=utf-8"],"Date":["Thu, 10 Aug 2017 00:43:48 GMT"],"Etag":["\"ad00e2519a528a75040db99754645a00\""],"Server":["nginx + Phusion Passenger"],"Status":["200 OK"],"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],"X-Content-Type-Options":["nosniff"],"X-Powered-By":["Phusion Passenger Enterprise"],"X-Rack-Cache":["miss"],"X-Request-Id":["9cf32ccf6c3d7c7a9ef006f20ade805b"],"X-Runtime":["0.038823"],"X-Tracker-Client-Pinger-Interval":["20"],"X-Tracker-Project-Version":["307"],"X-Ua-Compatible":["IE=Edge,chrome=1"],"X-Vcap-Request-Id":["7fee37f6-76fe-4ec5-4b1b-9f05ff3d471f"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["650"],"Via":["1.1 google"],"Alt-Svc":["clear"]},"body":{"encoding":"ASCII-8BIT","string":"{\"kind\":\"story\",\"id\":66728030,\"created_at\":\"2014-02-17T00:00:00Z\",\"updated_at\":\"2017-08-09T23:58:18Z\",\"estimate\":3,\"story_type\":\"feature\",\"name\":\"Admin can review all order questions and send responses to shoppers\",\"current_state\":\"started\",\"requested_by_id\":1266314,\"url\":\"https://www.pivotaltracker.com/story/show/66728030\",\"project_id\":1027488,\"owner_ids\":[],\"labels\":[{\"id\":7849080,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"admin\",\"created_at\":\"2014-03-02T07:11:04Z\",\"updated_at\":\"2014-03-02T07:11:04Z\"},{\"id\":7849094,\"project_id\":1027488,\"kind\":\"label\",\"name\":\"orders\",\"created_at\":\"2014-03-02T07:11:05Z\",\"updated_at\":\"2014-03-02T07:11:05Z\"}]}"},"http_version":null},"recorded_at":"Thu, 10 Aug 2017 00:43:54 GMT"}],"recorded_with":"VCR 2.9.3"}
data/tracker_api.gemspec CHANGED
@@ -28,10 +28,11 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_dependency 'addressable'
30
30
  spec.add_dependency 'virtus'
31
- spec.add_dependency 'faraday', '~> 0.9.0'
31
+ spec.add_dependency 'faraday'
32
32
  spec.add_dependency 'faraday_middleware'
33
33
  spec.add_dependency 'excon'
34
34
  spec.add_dependency 'equalizer'
35
35
  spec.add_dependency 'representable'
36
36
  spec.add_dependency 'multi_json'
37
+ spec.add_dependency 'mimemagic'
37
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tracker_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Forest Carlisle
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-05 00:00:00.000000000 Z
11
+ date: 2017-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -126,16 +126,16 @@ dependencies:
126
126
  name: faraday
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 0.9.0
131
+ version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 0.9.0
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: faraday_middleware
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +206,20 @@ dependencies:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: mimemagic
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
209
223
  description: This gem allows you to easily use the Pivotal Tracker v5 API.
210
224
  email:
211
225
  - forestcarlisle@gmail.com
@@ -224,6 +238,8 @@ files:
224
238
  - lib/tracker_api.rb
225
239
  - lib/tracker_api/client.rb
226
240
  - lib/tracker_api/endpoints/activity.rb
241
+ - lib/tracker_api/endpoints/attachment.rb
242
+ - lib/tracker_api/endpoints/attachments.rb
227
243
  - lib/tracker_api/endpoints/comment.rb
228
244
  - lib/tracker_api/endpoints/comments.rb
229
245
  - lib/tracker_api/endpoints/epic.rb
@@ -247,6 +263,7 @@ files:
247
263
  - lib/tracker_api/endpoints/workspace.rb
248
264
  - lib/tracker_api/endpoints/workspaces.rb
249
265
  - lib/tracker_api/error.rb
266
+ - lib/tracker_api/file_utility.rb
250
267
  - lib/tracker_api/logger.rb
251
268
  - lib/tracker_api/resources/account.rb
252
269
  - lib/tracker_api/resources/activity.rb
@@ -254,6 +271,7 @@ files:
254
271
  - lib/tracker_api/resources/comment.rb
255
272
  - lib/tracker_api/resources/epic.rb
256
273
  - lib/tracker_api/resources/epics_search_result.rb
274
+ - lib/tracker_api/resources/file_attachment.rb
257
275
  - lib/tracker_api/resources/iteration.rb
258
276
  - lib/tracker_api/resources/label.rb
259
277
  - lib/tracker_api/resources/me.rb
@@ -278,6 +296,8 @@ files:
278
296
  - lib/virtus/dirty_attribute/session.rb
279
297
  - test/client_test.rb
280
298
  - test/comment_test.rb
299
+ - test/error_test.rb
300
+ - test/file_attachment_test.rb
281
301
  - test/minitest_helper.rb
282
302
  - test/project_test.rb
283
303
  - test/story_test.rb
@@ -287,11 +307,17 @@ files:
287
307
  - test/vcr/cassettes/client_get_limited_stories_with_no_pagination.json
288
308
  - test/vcr/cassettes/client_get_single_epic_by_epic_id.json
289
309
  - test/vcr/cassettes/client_get_single_story_by_story_id.json
310
+ - test/vcr/cassettes/create_attachments.json
290
311
  - test/vcr/cassettes/create_comment.json
312
+ - test/vcr/cassettes/create_comment_with_attachment.json
291
313
  - test/vcr/cassettes/create_story.json
292
314
  - test/vcr/cassettes/create_story_comment.json
293
315
  - test/vcr/cassettes/create_story_with_lengthy_params.json
294
316
  - test/vcr/cassettes/create_task.json
317
+ - test/vcr/cassettes/delete_an_attachment.json
318
+ - test/vcr/cassettes/delete_attachments.json
319
+ - test/vcr/cassettes/delete_comment.json
320
+ - test/vcr/cassettes/delete_comments.json
295
321
  - test/vcr/cassettes/get_all_notifications.json
296
322
  - test/vcr/cassettes/get_all_projects.json
297
323
  - test/vcr/cassettes/get_all_workspaces.json
@@ -418,6 +444,8 @@ summary: API client for the Pivotal Tracker v5 API
418
444
  test_files:
419
445
  - test/client_test.rb
420
446
  - test/comment_test.rb
447
+ - test/error_test.rb
448
+ - test/file_attachment_test.rb
421
449
  - test/minitest_helper.rb
422
450
  - test/project_test.rb
423
451
  - test/story_test.rb
@@ -427,11 +455,17 @@ test_files:
427
455
  - test/vcr/cassettes/client_get_limited_stories_with_no_pagination.json
428
456
  - test/vcr/cassettes/client_get_single_epic_by_epic_id.json
429
457
  - test/vcr/cassettes/client_get_single_story_by_story_id.json
458
+ - test/vcr/cassettes/create_attachments.json
430
459
  - test/vcr/cassettes/create_comment.json
460
+ - test/vcr/cassettes/create_comment_with_attachment.json
431
461
  - test/vcr/cassettes/create_story.json
432
462
  - test/vcr/cassettes/create_story_comment.json
433
463
  - test/vcr/cassettes/create_story_with_lengthy_params.json
434
464
  - test/vcr/cassettes/create_task.json
465
+ - test/vcr/cassettes/delete_an_attachment.json
466
+ - test/vcr/cassettes/delete_attachments.json
467
+ - test/vcr/cassettes/delete_comment.json
468
+ - test/vcr/cassettes/delete_comments.json
435
469
  - test/vcr/cassettes/get_all_notifications.json
436
470
  - test/vcr/cassettes/get_all_projects.json
437
471
  - test/vcr/cassettes/get_all_workspaces.json