class PivotalTrackerCli::Api
Public Class Methods
get_all_users_for_project(project_id, api_token)
click to toggle source
# File lib/api.rb, line 3 def self.get_all_users_for_project(project_id, api_token) response = HTTParty.get("https://www.pivotaltracker.com/services/v5/projects/#{project_id}/memberships", headers: { 'X-TrackerToken': api_token } ) return unless response.success? member_map = {} response.parsed_response.map do |member| member_map[member['person']['username']] = { id: member['person']['id'], name: member['person']['name'] } end member_map end
get_backlog_for_project(project_id, api_token, limit=3)
click to toggle source
# File lib/api.rb, line 68 def self.get_backlog_for_project(project_id, api_token, limit=3) endpoint = "https://www.pivotaltracker.com/services/v5/projects/#{project_id}/iterations?scope=current_backlog&limit=#{limit}" response = HTTParty.get(endpoint, headers: { 'X-TrackerToken': api_token }) stories = [] response.parsed_response.each do |iteration| iteration['stories'].each do |story| stories.push(OpenStruct.new(story)) end end stories end
get_current_stories_for_user(project_id, api_token, usernames)
click to toggle source
# File lib/api.rb, line 46 def self.get_current_stories_for_user(project_id, api_token, usernames) search_term = usernames.map do |username| "owner:\"#{username}\"" end.join(' OR ') response = HTTParty .get("https://www.pivotaltracker.com/services/v5/projects/#{project_id}/search", query: { query: search_term }, headers: { 'X-TrackerToken': api_token }) story_list = [] response.parsed_response['stories']['stories'].map { |story| story_list.push(OpenStruct.new(story)) } if response.success? story_list end
get_story_by_id(project_id, api_token, story_id)
click to toggle source
# File lib/api.rb, line 21 def self.get_story_by_id(project_id, api_token, story_id) response = HTTParty .get("https://www.pivotaltracker.com/services/v5/projects/#{project_id}/stories/#{story_id.to_s}", headers: { 'X-TrackerToken': api_token }) OpenStruct.new(response.parsed_response) if response.success? end
update_story_state(project_id, api_token, id, state, owner_ids)
click to toggle source
# File lib/api.rb, line 31 def self.update_story_state(project_id, api_token, id, state, owner_ids) response = HTTParty.put( "https://www.pivotaltracker.com/services/v5/projects/#{project_id}/stories/#{id.to_s}", headers: { 'X-TrackerToken': api_token }, body: { 'current_state': state, 'owner_ids': owner_ids } ) "Story ##{id} successfully #{state}." if response.success? end