├── .rspec ├── .yardopts ├── bin ├── setup └── console ├── lib ├── backlog_kit │ ├── version.rb │ ├── resource_file.rb │ ├── client │ │ ├── status.rb │ │ ├── priority.rb │ │ ├── resolution.rb │ │ ├── git.rb │ │ ├── authorization.rb │ │ ├── notification.rb │ │ ├── group.rb │ │ └── star.rb │ ├── hash_extensions.rb │ ├── response.rb │ ├── response │ │ ├── middleware.rb │ │ ├── file_parser.rb │ │ └── raise_error.rb │ └── error.rb └── backlog_kit.rb ├── .gitignore ├── spec ├── backlog_kit_spec.rb ├── backlog_kit │ ├── hash_extensions_spec.rb │ ├── resource_file_spec.rb │ ├── client │ │ ├── status_spec.rb │ │ ├── priority_spec.rb │ │ ├── resolution_spec.rb │ │ └── git_spec.rb │ ├── error_spec.rb │ └── response │ │ └── middleware_spec.rb ├── cassettes │ ├── star │ │ ├── add_wiki_star.json │ │ ├── add_issue_star.json │ │ ├── add_pull_request_star.json │ │ ├── add_issue_comment_star.json │ │ └── add_pull_request_comment_star.json │ ├── issue │ │ ├── get_issues_given_invalid_params.json │ │ ├── get_issue_count_given_invalid_params.json │ │ ├── get_issue_count_given_no_params.json │ │ ├── get_comment_count.json │ │ ├── get_issue_count_given_valid_params.json │ │ ├── update_issue_given_invalid_params.json │ │ ├── create_issue_given_invalid_params.json │ │ ├── download_issue_attachment.json │ │ ├── add_comment_given_invalid_params.json │ │ ├── get_issue_attachments.json │ │ ├── remove_issue_attachment.json │ │ ├── get_comment_notifications.json │ │ ├── add_comment_notification_given_no_notified_user_ids.json │ │ ├── get_issue_shared_files.json │ │ ├── unlink_issue_shared_file.json │ │ ├── update_comment.json │ │ ├── delete_comment.json │ │ ├── link_issue_shared_files.json │ │ ├── add_comment_given_no_params.json │ │ └── add_comment_notification_given_notified_user_ids.json │ ├── wiki │ │ ├── delete_wiki_given_invalid_params.json │ │ ├── get_wiki_count.json │ │ ├── get_wiki_tags.json │ │ ├── update_wiki_given_invalid_params.json │ │ ├── create_wiki_given_invalid_params.json │ │ ├── get_wiki_stars.json │ │ ├── get_wiki_shared_files.json │ │ ├── unlink_wiki_shared_file.json │ │ ├── link_wiki_shared_files.json │ │ ├── get_wiki_histories_given_no_params.json │ │ ├── get_wiki_histories_given_invalid_params.json │ │ ├── get_wiki_histories_given_valid_params.json │ │ ├── delete_wiki_given_no_params.json │ │ ├── delete_wiki_given_valid_params.json │ │ └── update_wiki_given_name_only.json │ ├── space │ │ ├── get_space_activities_given_invalid_params.json │ │ ├── get_space_notification.json │ │ ├── get_space_disk_usage.json │ │ ├── update_space_notification.json │ │ └── get_space.json │ ├── notification │ │ ├── mark_as_read_notification.json │ │ ├── get_notification_count_given_no_params.json │ │ ├── get_notification_count_given_invalid_params.json │ │ ├── get_notification_count_given_valid_params.json │ │ └── reset_unread_notification_count.json │ ├── user │ │ ├── get_user_activities_given_invalid_params.json │ │ ├── get_user_star_count_given_invalid_params.json │ │ ├── get_user_star_count_given_no_params.json │ │ ├── get_user_star_count_given_valid_params.json │ │ ├── create_user_given_invalid_params.json │ │ ├── update_user_given_invalid_params.json │ │ ├── get_user.json │ │ ├── get_myself.json │ │ ├── delete_user.json │ │ ├── get_recently_viewed_projects_given_no_params.json │ │ ├── get_recently_viewed_projects_given_invalid_params.json │ │ ├── get_recently_viewed_projects_given_valid_params.json │ │ ├── update_user_given_valid_params.json │ │ ├── create_user_given_valid_params.json │ │ └── get_users.json │ ├── project │ │ ├── get_project_activities_given_invalid_params.json │ │ ├── get_pull_request_count.json │ │ ├── get_pull_request_comment_count.json │ │ ├── update_project_given_invalid_params.json │ │ ├── update_webhook_given_invalid_params.json │ │ ├── update_version_given_invalid_params.json │ │ ├── get_categories.json │ │ ├── update_issue_type_given_invalid_params.json │ │ ├── get_project_disk_usage.json │ │ ├── remove_category.json │ │ ├── download_shared_file.json │ │ ├── create_pull_request_given_invalid_params.json │ │ ├── update_pull_request_given_invalid_params.json │ │ ├── remove_issue_type.json │ │ ├── remove_project_user.json │ │ ├── get_project_administrators.json │ │ ├── add_version_given_invalid_params.json │ │ ├── remove_project_admin_auth.json │ │ ├── create_project_given_invalid_params.json │ │ ├── update_issue_type_given_no_params.json │ │ ├── add_project_user.json │ │ ├── remove_version.json │ │ ├── add_project_admin_auth.json │ │ ├── add_webhook_given_invalid_params.json │ │ ├── get_project.json │ │ ├── add_category.json │ │ ├── update_category.json │ │ ├── delete_project.json │ │ ├── add_issue_type.json │ │ ├── update_issue_type_given_valid_params.json │ │ ├── update_version_given_no_params.json │ │ ├── get_project_users.json │ │ ├── get_pull_request_attachments.json │ │ ├── update_project_given_no_params.json │ │ ├── remove_pull_request_attachment.json │ │ ├── get_projects_given_invalid_params.json │ │ ├── get_projects_given_valid_params.json │ │ ├── add_version_given_no_params.json │ │ ├── update_version_given_valid_params.json │ │ ├── get_versions.json │ │ ├── update_project_given_valid_params.json │ │ ├── get_issue_types.json │ │ ├── get_shared_files_given_no_params.json │ │ ├── get_shared_files_given_valid_params.json │ │ ├── get_shared_files_given_invalid_params.json │ │ ├── remove_webhook.json │ │ ├── get_webhook.json │ │ ├── get_webhooks.json │ │ ├── create_project_given_valid_params.json │ │ ├── update_webhook_given_no_params.json │ │ ├── add_version_given_valid_params.json │ │ ├── update_webhook_given_valid_params.json │ │ ├── get_project_teams.json │ │ └── add_webhook_given_valid_params.json │ ├── team │ │ ├── update_team_given_invalid_params.json │ │ ├── create_team_given_invalid_params.json │ │ ├── create_team_given_no_params.json │ │ └── delete_team.json │ ├── group │ │ ├── update_group_given_invalid_params.json │ │ ├── create_group_given_invalid_params.json │ │ ├── delete_group.json │ │ ├── update_group_given_no_params.json │ │ ├── create_group_given_no_params.json │ │ ├── update_group_given_valid_params.json │ │ ├── get_group.json │ │ ├── get_groups_given_no_params.json │ │ ├── get_groups_given_invalid_params.json │ │ └── get_groups_given_valid_params.json │ ├── watching │ │ ├── get_watchings_given_invalid_params.json │ │ ├── mark_as_read_watching.json │ │ ├── mark_as_read_watchings.json │ │ ├── get_watching_count_given_no_params.json │ │ ├── update_watching_given_invalid_params.json │ │ ├── get_watching_count_given_invalid_params.json │ │ ├── add_watching_given_invalid_params.json │ │ └── get_watching_count_given_valid_params.json │ ├── priority │ │ └── get_priorities.json │ ├── status │ │ └── get_statuses.json │ ├── resolution │ │ └── get_resolutions.json │ ├── authorization │ │ ├── update_token.json │ │ ├── create_token_when_redirect_uri_is_nil.json │ │ └── create_token_when_redirect_uri_is_not_nil.json │ └── git │ │ └── get_git_repositories.json └── spec_helper.rb ├── Rakefile ├── azure-pipelines-templates ├── steps-windows.yml ├── steps-macos.yml └── steps-ubuntu.yml ├── Gemfile ├── appveyor.yml ├── .rubocop.yml ├── LICENSE ├── .github └── workflows │ └── build.yml ├── .rubocop_todo.yml └── backlog_kit.gemspec /.rspec: -------------------------------------------------------------------------------- 1 | --require spec_helper 2 | -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- 1 | --no-private 2 | --markup markdown 3 | -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -euo pipefail 3 | IFS=$'\n\t' 4 | 5 | bundle install 6 | -------------------------------------------------------------------------------- /lib/backlog_kit/version.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | VERSION = '0.19.0'.freeze 3 | end 4 | -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'bundler/setup' 4 | require 'backlog_kit' 5 | 6 | require 'irb' 7 | IRB.start 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bundle/ 2 | /.yardoc 3 | /Gemfile.lock 4 | /_yardoc/ 5 | /coverage/ 6 | /doc/ 7 | /pkg/ 8 | /spec/reports/ 9 | /tmp/ 10 | -------------------------------------------------------------------------------- /spec/backlog_kit_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit do 2 | describe 'VERSION' do 3 | subject { described_class::VERSION } 4 | it { is_expected.not_to be_nil } 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/backlog_kit.rb: -------------------------------------------------------------------------------- 1 | require 'active_support/core_ext/string/inflections' 2 | require 'faraday' 3 | require 'faraday_middleware' 4 | require 'addressable' 5 | 6 | require 'backlog_kit/client' 7 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'bundler/gem_tasks' 2 | 3 | require 'rspec/core/rake_task' 4 | RSpec::Core::RakeTask.new(:spec) 5 | 6 | task test: :spec 7 | 8 | require 'yard' 9 | YARD::Rake::YardocTask.new 10 | 11 | task default: :spec 12 | -------------------------------------------------------------------------------- /lib/backlog_kit/resource_file.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class ResourceFile 3 | attr_accessor(:filename, :content) 4 | 5 | def initialize(filename, content) 6 | @filename = filename 7 | @content = content 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /lib/backlog_kit/client/status.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Status API 4 | module Status 5 | # Get list of statuses 6 | # 7 | # @return [BacklogKit::Response] List of statuses 8 | def get_statuses 9 | get('statuses') 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /lib/backlog_kit/client/priority.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Priority API 4 | module Priority 5 | # Get list of priorities 6 | # 7 | # @return [BacklogKit::Response] List of priorities 8 | def get_priorities 9 | get('priorities') 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /lib/backlog_kit/client/resolution.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Resolution API 4 | module Resolution 5 | # Get list of resolutions 6 | # 7 | # @return [BacklogKit::Response] List of resolutions 8 | def get_resolutions 9 | get('resolutions') 10 | end 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /azure-pipelines-templates/steps-windows.yml: -------------------------------------------------------------------------------- 1 | steps: 2 | - task: UseRubyVersion@0 3 | inputs: 4 | versionSpec: $(rubyVersion) 5 | - script: | 6 | gem install bundler --no-document 7 | displayName: 'Install bundler' 8 | - script: | 9 | bundle install --retry=3 --jobs=4 10 | displayName: 'Install gems' 11 | - script: | 12 | bundle exec rake 13 | env: 14 | BACKLOG_SPACE_ID: $(spaceId) 15 | BACKLOG_API_KEY: $(apiKey) 16 | displayName: 'Run test' 17 | -------------------------------------------------------------------------------- /lib/backlog_kit/hash_extensions.rb: -------------------------------------------------------------------------------- 1 | require 'active_support/core_ext/hash/keys' 2 | 3 | class Hash 4 | # Camelize all keys of the hash 5 | # 6 | # @return [Hash] The hash with camelized keys 7 | def camelize_keys! 8 | deep_transform_keys! do |key| 9 | key.to_s 10 | .split(/(_*\d+_*)/) 11 | .reject(&:empty?) 12 | .map { |k| k.camelize(:lower) } 13 | .join('_') 14 | .to_sym 15 | end 16 | 17 | self 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/backlog_kit/client/git.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Git API 4 | module Git 5 | # Get list of git repositories 6 | # 7 | # @param project_id_or_key [Integer, String] Project id or project key 8 | # @return [BacklogKit::Response] List of git repositories 9 | def get_git_repositories(project_id_or_key) 10 | get('git/repositories', project_id_or_key: project_id_or_key) 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/backlog_kit/response.rb: -------------------------------------------------------------------------------- 1 | require 'backlog_kit/resource' 2 | 3 | module BacklogKit 4 | class Response 5 | attr_reader(:headers, :status, :body) 6 | 7 | def initialize(response) 8 | @headers = process(response.headers) 9 | @status = process(response.status) 10 | @body = process(response.body) 11 | end 12 | 13 | private 14 | 15 | def process(raw) 16 | case raw 17 | when Hash then Resource.new(raw) 18 | when Array then raw.map { |hash| process(hash) } 19 | when String then Resource.new 20 | else raw 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /lib/backlog_kit/response/middleware.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Response 3 | class Middleware < Faraday::Response::Middleware 4 | attr_reader(:headers, :status, :body) 5 | 6 | def on_complete(env) 7 | @headers = env.response_headers 8 | @status = env.status 9 | @body = env.body 10 | end 11 | 12 | private 13 | 14 | def no_content? 15 | status == 204 16 | end 17 | 18 | def json? 19 | !!content_type.match(/application\/json/) 20 | end 21 | 22 | def content_type 23 | headers['content-type'] 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gemspec 4 | 5 | if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('2.2.0') && Gem::Version.create(RUBY_VERSION) < Gem::Version.create('2.3.0') 6 | gem 'rubocop', '< 0.65.0' 7 | end 8 | 9 | if Gem::Version.create(RUBY_VERSION) < Gem::Version.create('2.2.2') 10 | gem 'activesupport', '< 5.0.0' 11 | end 12 | 13 | if Gem::Version.create(RUBY_VERSION) >= Gem::Version.create('2.1.0') && Gem::Version.create(RUBY_VERSION) < Gem::Version.create('2.2.0') 14 | gem 'rubocop', '< 0.58.0' 15 | end 16 | 17 | if Gem::Version.create(RUBY_VERSION) < Gem::Version.create('2.1.0') 18 | gem 'public_suffix', '< 3.0.0' 19 | gem 'rubocop', '< 0.51.0' 20 | end 21 | -------------------------------------------------------------------------------- /spec/backlog_kit/hash_extensions_spec.rb: -------------------------------------------------------------------------------- 1 | describe Hash do 2 | describe '#camelize_keys!' do 3 | let(:underscored_hash) do 4 | { 5 | abcd_efgh_1234_ijkl_mnop: 'テスト', 6 | abcdEfgh_5678_ijklMnop: 'テスト', 7 | abcdEfgh_1234: 'テスト', 8 | '1234_abcdEfgh_1234' => { abcd_efgh_9012_ijkl_mnop: 'テスト' } 9 | } 10 | end 11 | 12 | let(:camelized_hash) do 13 | { 14 | abcdEfgh_1234_ijklMnop: 'テスト', 15 | abcdEfgh_5678_ijklMnop: 'テスト', 16 | abcdEfgh_1234: 'テスト', 17 | :'1234_abcdEfgh_1234' => { abcdEfgh_9012_ijklMnop: 'テスト' } 18 | } 19 | end 20 | 21 | subject { underscored_hash.camelize_keys! } 22 | it { is_expected.to eq camelized_hash } 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /spec/backlog_kit/resource_file_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::ResourceFile do 2 | describe '.new' do 3 | let(:filename) { 'テストファイル.txt' } 4 | let(:content) { 'テスト内容' } 5 | let(:resource) { described_class.new(filename, content) } 6 | 7 | subject { resource } 8 | 9 | it { is_expected.to respond_to(:filename) } 10 | it { is_expected.to respond_to(:filename=) } 11 | it { is_expected.to respond_to(:content) } 12 | it { is_expected.to respond_to(:content=) } 13 | 14 | describe '#filename' do 15 | subject { resource.filename } 16 | it { is_expected.to eq filename } 17 | end 18 | 19 | describe '#content' do 20 | subject { resource.content } 21 | it { is_expected.to eq content } 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /spec/cassettes/star/add_wiki_star.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/stars?apiKey=","body":{"encoding":"UTF-8","base64_string":"d2lraUlkPTgwMTc5\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sat, 09 May 2015 11:16:29 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sat, 09 May 2015 11:16:28 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build}-{branch} 2 | 3 | environment: 4 | BACKLOG_SPACE_ID: 5 | secure: kr2ydONkTrsvlVKYCdQxSw== 6 | BACKLOG_API_KEY: 7 | secure: g+q5mcsZYYPnCP0klGetdO2LdD+HBP9hH+157sGi7vScSckyi4h76iYqsanJGnwK+fPV6waPofDPH+b3O2gBZNTef7dIJnAa/IBqUhLMgZE= 8 | matrix: 9 | - RUBY_VERSION: 200 10 | - RUBY_VERSION: 200-x64 11 | - RUBY_VERSION: 21 12 | - RUBY_VERSION: 21-x64 13 | - RUBY_VERSION: 22 14 | - RUBY_VERSION: 22-x64 15 | - RUBY_VERSION: 23 16 | - RUBY_VERSION: 23-x64 17 | - RUBY_VERSION: 24 18 | - RUBY_VERSION: 24-x64 19 | - RUBY_VERSION: 25 20 | - RUBY_VERSION: 25-x64 21 | 22 | install: 23 | - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH% 24 | - bundle install 25 | 26 | build: off 27 | 28 | before_test: 29 | - ruby -v 30 | - gem -v 31 | - bundle -v 32 | 33 | test_script: 34 | - bundle exec rake 35 | -------------------------------------------------------------------------------- /spec/backlog_kit/client/status_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Client::Status do 2 | let(:client) do 3 | BacklogKit::Client.new(space_id: ENV['BACKLOG_SPACE_ID'], api_key: ENV['BACKLOG_API_KEY']) 4 | end 5 | 6 | describe '#get_statuses', vcr: { cassette_name: 'status/get_statuses' } do 7 | let(:response) { client.get_statuses } 8 | let(:content_type) { 'application/json; charset=utf-8' } 9 | let(:status_code) { 200 } 10 | 11 | it_behaves_like 'a normal response' 12 | it_behaves_like 'a normal response headers' 13 | it_behaves_like 'a normal response status' 14 | 15 | describe '#body' do 16 | subject { response.body } 17 | it { is_expected.to be_a Array } 18 | 19 | describe '#[0]' do 20 | let(:status) { response.body[0] } 21 | it_behaves_like 'a resource of status' 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/backlog_kit/error_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Error do 2 | describe '.build_error_message' do 3 | let(:index) { 1 } 4 | let(:message) { 'エラーです。' } 5 | let(:code) { 99 } 6 | let(:basic_error_message) do 7 | "[ERROR #{index}] #{described_class.name.demodulize} - #{message} (CODE: #{code})" 8 | end 9 | 10 | subject { described_class.build_error_message(response, index) } 11 | 12 | context 'given no more info' do 13 | let(:response) { { 'message' => message, 'code' => code } } 14 | it { is_expected.to eq basic_error_message } 15 | end 16 | 17 | context 'given more info' do 18 | let(:more_info) { 'すごいエラー!' } 19 | let(:response) { { 'message' => message, 'code' => code, 'moreInfo' => more_info } } 20 | it { is_expected.to eq "#{basic_error_message} (MORE INFO: #{more_info})" } 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issues_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 12:41:05 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 12:41:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/star/add_issue_star.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/stars?apiKey=","body":{"encoding":"UTF-8","base64_string":"aXNzdWVJZD0xMTg4ODU2\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sat, 09 May 2015 11:13:10 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sat, 09 May 2015 11:13:09 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/delete_wiki_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/wikis/80179?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:40:11 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:40:11 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issue_count_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/count?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 12:41:51 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 12:41:51 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/star/add_pull_request_star.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/stars?apiKey=","body":{"encoding":"UTF-8","base64_string":"cHVsbFJlcXVlc3RJZD02Mg==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sun, 30 Aug 2015 12:57:43 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sun, 30 Aug 2015 12:57:43 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/backlog_kit/client/priority_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Client::Priority do 2 | let(:client) do 3 | BacklogKit::Client.new(space_id: ENV['BACKLOG_SPACE_ID'], api_key: ENV['BACKLOG_API_KEY']) 4 | end 5 | 6 | describe '#get_priorities', vcr: { cassette_name: 'priority/get_priorities' } do 7 | let(:response) { client.get_priorities } 8 | let(:content_type) { 'application/json; charset=utf-8' } 9 | let(:status_code) { 200 } 10 | 11 | it_behaves_like 'a normal response' 12 | it_behaves_like 'a normal response headers' 13 | it_behaves_like 'a normal response status' 14 | 15 | describe '#body' do 16 | subject { response.body } 17 | it { is_expected.to be_a Array } 18 | 19 | describe '#[0]' do 20 | let(:priority) { response.body[0] } 21 | it_behaves_like 'a resource of priority' 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issue_count_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 12:41:49 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6MH0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 12:41:49 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/star/add_issue_comment_star.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/stars?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29tbWVudElkPTUzMjQ0Nzk=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sat, 09 May 2015 11:16:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sat, 09 May 2015 11:16:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_count.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/count?apiKey=&projectIdOrKey=31224","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:27:09 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6M30=\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:27:09 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/get_comment_count.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/1189073/comments/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 13:34:20 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6NX0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 13:34:20 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/space/get_space_activities_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/space/activities?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 07:27:46 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 07:27:46 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/backlog_kit/client/resolution_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Client::Resolution do 2 | let(:client) do 3 | BacklogKit::Client.new(space_id: ENV['BACKLOG_SPACE_ID'], api_key: ENV['BACKLOG_API_KEY']) 4 | end 5 | 6 | describe '#get_resolutions', vcr: { cassette_name: 'resolution/get_resolutions' } do 7 | let(:response) { client.get_resolutions } 8 | let(:content_type) { 'application/json; charset=utf-8' } 9 | let(:status_code) { 200 } 10 | 11 | it_behaves_like 'a normal response' 12 | it_behaves_like 'a normal response headers' 13 | it_behaves_like 'a normal response status' 14 | 15 | describe '#body' do 16 | subject { response.body } 17 | it { is_expected.to be_a Array } 18 | 19 | describe '#[0]' do 20 | let(:resolution) { response.body[0] } 21 | it_behaves_like 'a resource of resolution' 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/cassettes/notification/mark_as_read_notification.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/notifications/3341549/markAsRead?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sun, 10 May 2015 03:34:15 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sun, 10 May 2015 03:34:15 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_user_activities_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/activities?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:15:13 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:15:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_user_star_count_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/stars/count?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:18:18 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:18:18 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project_activities_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/activities?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:39:42 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:39:42 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/star/add_pull_request_comment_star.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/stars?apiKey=","body":{"encoding":"UTF-8","base64_string":"cHVsbFJlcXVlc3RDb21tZW50SWQ9MTY4\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Length":["0"],"Date":["Sun, 30 Aug 2015 12:57:46 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Sun, 30 Aug 2015 12:57:46 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_user_star_count_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/stars/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:18:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6M30=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:18:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/notification/get_notification_count_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/notifications/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 03:23:17 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 03:23:17 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issue_count_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/count?apiKey=&projectId%5B%5D=31224","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 12:41:50 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 12:41:50 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/backlog_kit/client/git_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Client::Git do 2 | let(:client) do 3 | BacklogKit::Client.new(space_id: ENV['BACKLOG_SPACE_ID'], api_key: ENV['BACKLOG_API_KEY']) 4 | end 5 | 6 | describe '#get_git_repositories', vcr: { cassette_name: 'git/get_git_repositories' } do 7 | let(:response) { client.get_git_repositories('TEST_PROJECT_1') } 8 | let(:content_type) { 'application/json; charset=utf-8' } 9 | let(:status_code) { 200 } 10 | 11 | it_behaves_like 'a normal response' 12 | it_behaves_like 'a normal response headers' 13 | it_behaves_like 'a normal response status' 14 | 15 | describe '#body' do 16 | subject { response.body } 17 | it { is_expected.to be_a Array } 18 | 19 | describe '#[0]' do 20 | let(:git_repository) { response.body[0] } 21 | it_behaves_like 'a resource of git repository' 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/cassettes/team/update_team_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/teams/3089?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 24 Feb 2019 07:18:43 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 24 Feb 2019 07:18:43 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_tags.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/tags?apiKey=&projectIdOrKey=31224","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:29:39 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["30"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMyNzEsIm5hbWUiOiLjgr/jgrAxIn1d\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:29:39 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/notification/get_notification_count_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/notifications/count?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 03:26:19 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 03:26:19 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_pull_request_count.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 06 Sep 2015 13:29:33 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6MX0=\n"},"http_version":null},"recorded_at":"Sun, 06 Sep 2015 13:29:33 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_user_star_count_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/stars/count?apiKey=&since=2015-01-01","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:18:17 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6M30=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:18:17 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/notification/get_notification_count_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/notifications/count?alreadyRead=false&apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 03:26:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 03:26:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/create_user_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/users?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:02:11 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:02:11 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/update_group_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/groups/3747?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:33:34 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:33:34 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/update_user_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/users/71333?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:04:33 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:04:33 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/watching/get_watchings_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/watchings?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 00:58:17 GMT"],"Server":["nginx"],"X-Request-Id":["775b4d2a-c473-4c7f-b8f5-3a5fa5e3a33c"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 00:58:17 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/update_wiki_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/wikis/80588?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:37:45 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:37:45 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/update_issue_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/issues/1190003?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 13:06:00 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 13:06:00 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_pull_request_comment_count.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests/2/comments/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 06 Sep 2015 15:35:36 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6MX0=\n"},"http_version":null},"recorded_at":"Sun, 06 Sep 2015 15:35:36 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_project_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:37:16 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:37:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/space/get_space_notification.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/space/notification?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 07:33:17 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["54"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb250ZW50IjoiQ2hlZXJzISIsInVwZGF0ZWQiOiIyMDE1LTA1LTA0VDIz\nOjU0OjQ4WiJ9\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 07:33:17 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/create_issue_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues?apiKey=","body":{"encoding":"UTF-8","base64_string":"c3VtbWFyeT1kdW1teTImdGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 12:51:29 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 12:51:29 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/watching/mark_as_read_watching.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/watchings/17177/markAsRead?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Date":["Mon, 21 Nov 2016 14:08:40 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Frame-Options":["SAMEORIGIN"],"X-Request-Id":["ebd5517f-d69c-4253-9ed8-788ced71d538"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Mon, 21 Nov 2016 14:08:40 GMT"}],"recorded_with":"VCR 3.0.3"} -------------------------------------------------------------------------------- /spec/cassettes/priority/get_priorities.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/priorities?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 01:25:09 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["67"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjIsIm5hbWUiOiLpq5gifSx7ImlkIjozLCJuYW1lIjoi5LitIn0s\neyJpZCI6NCwibmFtZSI6IuS9jiJ9XQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 01:25:09 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_webhook_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks/106?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:39:21 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:39:21 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/notification/reset_unread_notification_count.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/notifications/markAsRead?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 03:32:07 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 03:32:07 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_version_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/versions/39682?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:20:34 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:20:34 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/watching/mark_as_read_watchings.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/users/56534/watchings/markAsChecked?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":204,"message":"No Content"},"headers":{"Access-Control-Allow-Origin":["*"],"Date":["Mon, 21 Nov 2016 13:58:58 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Frame-Options":["SAMEORIGIN"],"X-Request-Id":["6780962c-9937-40bd-8eb8-cc4874d94224"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":""},"http_version":null},"recorded_at":"Mon, 21 Nov 2016 13:58:58 GMT"}],"recorded_with":"VCR 3.0.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_categories.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/categories?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:58:41 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["66"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjY1NTg4LCJuYW1lIjoi44Kr44OG44K044Oq44O8MSIsImRpc3Bs\nYXlPcmRlciI6MjE0NzQ4MzY0Nn1d\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:58:41 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_issue_type_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes/138339?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:55:51 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:55:51 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project_disk_usage.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/diskUsage?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:31:10 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["72"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJwcm9qZWN0SWQiOjMxMjI0LCJpc3N1ZSI6MTksIndpa2kiOjAsImZpbGUi\nOjE5LCJzdWJ2ZXJzaW9uIjowLCJnaXQiOjB9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:31:10 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_category.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/categories/66199?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:04:39 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["65"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjYxOTksIm5hbWUiOiLjg4bjgrnjg4jjgqvjg4bjgrTjg6rjg7wy\nIiwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:04:39 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/response/file_parser.rb: -------------------------------------------------------------------------------- 1 | require 'backlog_kit/response/middleware' 2 | require 'backlog_kit/resource_file' 3 | 4 | module BacklogKit 5 | class Response 6 | class FileParser < BacklogKit::Response::Middleware 7 | def on_complete(env) 8 | super 9 | env.body = BacklogKit::ResourceFile.new(decoded_filename, body) if file? 10 | end 11 | 12 | private 13 | 14 | def file? 15 | !(no_content? || json?) 16 | end 17 | 18 | def decoded_filename 19 | match_data = content_disposition.match(/=(.*)''(.+)\z/) 20 | encode = match_data[1] 21 | filename = match_data[2] 22 | return filename if encode.empty? 23 | 24 | URI.decode_www_form_component(filename, encode) 25 | end 26 | 27 | def content_disposition 28 | headers['content-disposition'] 29 | end 30 | end 31 | 32 | Faraday::Response.register_middleware(file_parser: FileParser) 33 | end 34 | end 35 | -------------------------------------------------------------------------------- /spec/cassettes/project/download_shared_file.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/files/2654538?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Disposition":["attachment; filename*=UTF-8''%E3%83%86%E3%82%B9%E3%83%881.txt"],"Content-Type":["text/plain"],"Date":["Tue, 12 May 2015 13:27:22 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["19"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"44OG44K544OI44Gn44GZ44CCCg==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:27:22 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/create_pull_request_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 06 Sep 2015 13:59:13 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 06 Sep 2015 13:59:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_pull_request_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests/1?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 06 Sep 2015 14:29:42 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 06 Sep 2015 14:29:42 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/watching/get_watching_count_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/watchings/count?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 00:58:17 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Frame-Options":["SAMEORIGIN"],"X-Request-Id":["11a21620-7fd9-498f-90f6-e2723e71bce4"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 00:58:17 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/issue/download_issue_attachment.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/1188856/attachments/535387?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Disposition":["attachment; filename*=UTF-8''%E3%83%86%E3%82%B9%E3%83%881.txt"],"Content-Type":["text/plain"],"Date":["Sun, 10 May 2015 14:23:45 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["19"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"44OG44K544OI44Gn44GZ44CCCg==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:23:45 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_user.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/47893?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 09:55:32 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["100"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJv\nbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhh\nbXBsZS5jb20ifQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 09:55:32 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/watching/update_watching_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/watchings/13883?apiKey=","body":{"encoding":"UTF-8","base64_string":"dGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 01:56:18 GMT"],"Server":["nginx"],"X-Request-Id":["55c0176b-5518-4f4f-913c-76331f66f3dd"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 01:56:18 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_myself.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/myself?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:05:53 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["100"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJv\nbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhh\nbXBsZS5jb20ifQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:05:53 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/team/create_team_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/teams?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlODElRTMl\nODMlQkMlRTMlODMlQTAzJnRlc3Q9dGVzdA==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 24 Feb 2019 07:18:38 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 24 Feb 2019 07:18:38 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/watching/get_watching_count_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/watchings/count?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 00:58:21 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Frame-Options":["SAMEORIGIN"],"X-Request-Id":["3b90587e-3033-483d-8ed4-df37075a60ce"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 00:58:21 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/watching/add_watching_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/watchings?apiKey=","body":{"encoding":"UTF-8","base64_string":"aXNzdWVJZE9yS2V5PTEyNjcwOTUmdGVzdD10ZXN0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 01:12:22 GMT"],"Server":["nginx"],"X-Request-Id":["591ae95d-3e69-44a6-884c-79634571c0c3"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 01:12:22 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/watching/get_watching_count_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/56534/watchings/count?alreadyRead=true&apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 30 Oct 2016 00:58:19 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Frame-Options":["SAMEORIGIN"],"X-Request-Id":["ea6ba5f3-5718-4b1c-a402-d16c6537a1fc"],"Content-Length":["11"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjb3VudCI6Mn0=\n"},"http_version":null},"recorded_at":"Sun, 30 Oct 2016 00:58:19 GMT"}],"recorded_with":"VCR 3.0.1"} -------------------------------------------------------------------------------- /spec/cassettes/status/get_statuses.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/statuses?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 01:47:40 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["113"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjEsIm5hbWUiOiLmnKrlr77lv5wifSx7ImlkIjoyLCJuYW1lIjoi\n5Yem55CG5LitIn0seyJpZCI6MywibmFtZSI6IuWHpueQhua4iOOBvyJ9LHsi\naWQiOjQsIm5hbWUiOiLlrozkuoYifV0=\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 01:47:40 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/delete_user.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/users/71333?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:05:25 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["113"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NzEzMzMsInVzZXJJZCI6InRhcm8iLCJuYW1lIjoi44OG44K544OI\n6Iqx5a2QIiwicm9sZVR5cGUiOjUsImxhbmciOm51bGwsIm1haWxBZGRyZXNz\nIjoiaGFuYWtvQGV4YW1wbGUuY29tIn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:05:25 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/create_group_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/groups?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjAlRTMl\nODMlQUIlRTMlODMlQkMlRTMlODMlOTczJnRlc3Q9dGVzdA==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:22:47 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:22:47 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- 1 | inherit_from: .rubocop_todo.yml 2 | 3 | AllCops: 4 | DisplayCopNames: true 5 | 6 | Bundler/DuplicatedGem: 7 | Enabled: false 8 | 9 | Layout/AlignHash: 10 | Enabled: false 11 | 12 | Layout/MultilineMethodCallIndentation: 13 | EnforcedStyle: indented 14 | 15 | Metrics/BlockLength: 16 | Exclude: 17 | - 'Rakefile' 18 | - '**/*.rake' 19 | - 'spec/**/*.rb' 20 | - '*.gemspec' 21 | 22 | Metrics/ModuleLength: 23 | Enabled: false 24 | 25 | Naming/AccessorMethodName: 26 | Enabled: false 27 | 28 | Style/BracesAroundHashParameters: 29 | Enabled: false 30 | 31 | Style/DoubleNegation: 32 | Enabled: false 33 | 34 | Style/HashSyntax: 35 | Enabled: false 36 | 37 | Style/IfUnlessModifier: 38 | Exclude: 39 | - 'Gemfile' 40 | 41 | Style/NumericLiterals: 42 | Enabled: false 43 | 44 | Style/PercentLiteralDelimiters: 45 | Enabled: false 46 | 47 | Style/RedundantSelf: 48 | Enabled: false 49 | 50 | Style/RegexpLiteral: 51 | Enabled: false 52 | 53 | Style/UnneededPercentQ: 54 | Enabled: false 55 | -------------------------------------------------------------------------------- /spec/cassettes/project/remove_issue_type.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes/138339?apiKey=&substituteIssueTypeId=136774","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:58:03 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["93"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTM4MzM5LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OG44K5\n44OI56iu5YilMiIsImNvbG9yIjoiI2UzMDAwMCIsImRpc3BsYXlPcmRlciI6\nLTF9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:58:03 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/add_comment_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues/1188856/comments?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29udGVudD0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjMl\nRTMlODMlQTElRTMlODMlQjMlRTMlODMlODgzJnRlc3Q9dGVzdA==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:07:02 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:07:02 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_project_user.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/users?apiKey=&userId=62380","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:43:17 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["114"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjIzODAsInVzZXJJZCI6InRlc3RfdXNlcl8yIiwibmFtZSI6IuOD\npuODvOOCtjIiLCJyb2xlVHlwZSI6NSwibGFuZyI6bnVsbCwibWFpbEFkZHJl\nc3MiOiJ1c2VyMkBleGFtcGxlLmNvbSJ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:43:17 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project_administrators.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/administrators?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:51:51 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["116"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjU2NTM0LCJ1c2VySWQiOiJ0ZXN0X3VzZXJfMSIsIm5hbWUiOiLj\ng6bjg7zjgrYxIiwicm9sZVR5cGUiOjIsImxhbmciOm51bGwsIm1haWxBZGRy\nZXNzIjoidXNlcjFAZXhhbXBsZS5jb20ifV0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:51:51 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_version_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/versions?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlOTAlRTMl\nODMlQkMlRTMlODIlQjglRTMlODMlQTclRTMlODMlQjMzJnRlc3Q9dGVzdA==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:18:10 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:18:10 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_project_admin_auth.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/administrators?apiKey=&userId=56534","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:52:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["114"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8xIiwibmFtZSI6IuOD\npuODvOOCtjEiLCJyb2xlVHlwZSI6MiwibGFuZyI6bnVsbCwibWFpbEFkZHJl\nc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:52:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/resolution/get_resolutions.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/resolutions?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 01:37:48 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["150"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjAsIm5hbWUiOiLlr77lv5zmuIjjgb8ifSx7ImlkIjoxLCJuYW1l\nIjoi5a++5b+c44GX44Gq44GEIn0seyJpZCI6MiwibmFtZSI6IueEoeWKuSJ9\nLHsiaWQiOjMsIm5hbWUiOiLph43opIcifSx7ImlkIjo0LCJuYW1lIjoi5YaN\n54++44GX44Gq44GEIn1d\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 01:37:48 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/create_project_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects?apiKey=","body":{"encoding":"UTF-8","base64_string":"a2V5PVRFU1RfUFJPSkVDVF8yJm5hbWU9JUUzJTgzJTg2JUUzJTgyJUI5JUUz\nJTgzJTg4JUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUI4JUUzJTgyJUE3JUUz\nJTgyJUFGJUUzJTgzJTg4MiZ0ZXN0PXRlc3Q=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 15:13:48 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 15:13:48 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_issue_type_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes/138339?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:55:47 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["93"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTM4MzM5LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OG44K5\n44OI56iu5YilMSIsImNvbG9yIjoiI2UzMDAwMCIsImRpc3BsYXlPcmRlciI6\nLTF9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:55:47 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/space/get_space_disk_usage.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/space/diskUsage?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 07:39:38 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["160"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJjYXBhY2l0eSI6MTA0ODU3NjAwLCJpc3N1ZSI6MTksIndpa2kiOjAsImZp\nbGUiOjE5LCJzdWJ2ZXJzaW9uIjowLCJnaXQiOjAsImRldGFpbHMiOlt7InBy\nb2plY3RJZCI6MzEyMjQsImlzc3VlIjoxOSwid2lraSI6MCwiZmlsZSI6MTks\nInN1YnZlcnNpb24iOjAsImdpdCI6MH1dfQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 07:39:38 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/space/update_space_notification.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"put","uri":"https://.backlog.jp/api/v2/space/notification?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29udGVudD0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTYlOUIlQjQl\nRTYlOTYlQjAx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 07:35:23 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["63"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJjb250ZW50Ijoi44OG44K544OI5pu05pawMSIsInVwZGF0ZWQiOiIyMDE1\nLTA1LTEwVDA3OjM1OjIzWiJ9\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 07:35:24 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_project_user.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/users?apiKey=","body":{"encoding":"UTF-8","base64_string":"dXNlcklkPTYyMzgw\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:42:37 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["114"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjIzODAsInVzZXJJZCI6InRlc3RfdXNlcl8yIiwibmFtZSI6IuOD\npuODvOOCtjIiLCJyb2xlVHlwZSI6NSwibGFuZyI6bnVsbCwibWFpbEFkZHJl\nc3MiOiJ1c2VyMkBleGFtcGxlLmNvbSJ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:42:38 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_version.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/versions/39682?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:21:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["158"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzk2ODIsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjg5Djg7zjgrjjg6fjg7M0IiwiZGVzY3JpcHRpb24iOm51bGwsInN0YXJ0\nRGF0ZSI6bnVsbCwicmVsZWFzZUR1ZURhdGUiOm51bGwsImFyY2hpdmVkIjpm\nYWxzZSwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:21:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_project_admin_auth.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/administrators?apiKey=","body":{"encoding":"UTF-8","base64_string":"dXNlcklkPTU2NTM0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:51:38 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["114"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8xIiwibmFtZSI6IuOD\npuODvOOCtjEiLCJyb2xlVHlwZSI6MiwibGFuZyI6bnVsbCwibWFpbEFkZHJl\nc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:51:38 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_webhook_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks?apiKey=","body":{"encoding":"UTF-8","base64_string":"aG9va1VybD1odHRwcyUzQSUyRiUyRmV4YW1wbGUuY29tJm5hbWU9JUUzJTgz\nJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgyJUE2JUUzJTgyJUE3JUUzJTgz\nJTk2JUUzJTgzJTk1JUUzJTgzJTgzJUUzJTgyJUFGMSZ0ZXN0PXRlc3Q=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:38:18 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:38:18 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:35:51 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["187"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BST0pFQ1RfMSIsIm5h\nbWUiOiJ0ZXN0X3Byb2plY3RfMSIsImNoYXJ0RW5hYmxlZCI6ZmFsc2UsInN1\nYnRhc2tpbmdFbmFibGVkIjpmYWxzZSwidGV4dEZvcm1hdHRpbmdSdWxlIjoi\nYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxheU9yZGVyIjoyMTQ3\nNDgzNjQ2fQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:35:51 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_category.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/categories?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQUIlRTMl\nODMlODYlRTMlODIlQjQlRTMlODMlQUElRTMlODMlQkMx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:59:14 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["65"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjYxOTksIm5hbWUiOiLjg4bjgrnjg4jjgqvjg4bjgrTjg6rjg7wx\nIiwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:59:14 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_category.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/categories/66199?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQUIlRTMl\nODMlODYlRTMlODIlQjQlRTMlODMlQUElRTMlODMlQkMy\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:00:54 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["65"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjYxOTksIm5hbWUiOiLjg4bjgrnjg4jjgqvjg4bjgrTjg6rjg7wy\nIiwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:00:54 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/delete_project.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 15:04:03 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["201"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BST0pFQ1RfMSIsIm5h\nbWUiOiLjg4bjgrnjg4jjg5fjg63jgrjjgqfjgq/jg4gxIiwiY2hhcnRFbmFi\nbGVkIjpmYWxzZSwic3VidGFza2luZ0VuYWJsZWQiOmZhbHNlLCJ0ZXh0Rm9y\nbWF0dGluZ1J1bGUiOiJiYWNrbG9nIiwiYXJjaGl2ZWQiOmZhbHNlLCJkaXNw\nbGF5T3JkZXIiOjIxNDc0ODM2NDZ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 15:04:03 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /azure-pipelines-templates/steps-macos.yml: -------------------------------------------------------------------------------- 1 | steps: 2 | - task: Cache@2 3 | inputs: 4 | key: 'ruby | "$(Agent.JobName)" | "$(rubyVersion)"' 5 | path: $(rubyPath) 6 | cacheHitVar: rubyCacheRestored 7 | displayName: 'Cache Ruby' 8 | - script: | 9 | brew update 10 | brew install ruby-build 11 | condition: ne(variables.rubyCacheRestored, 'true') 12 | displayName: 'Install ruby-build' 13 | - script: | 14 | export SYSTEM=`uname -s` ./config 15 | ruby-build $(rubyVersion) $(rubyPath) 16 | condition: ne(variables.rubyCacheRestored, 'true') 17 | displayName: 'Install Ruby' 18 | - script: | 19 | if [[ $(rubyVersion) =~ 2\.[0-2]\.[0-9]+ ]]; then 20 | $(gemBinPath)/gem install bundler --no-document -v '<2' 21 | else 22 | $(gemBinPath)/gem install bundler --no-document 23 | fi 24 | displayName: 'Install bundler' 25 | - script: | 26 | $(gemBinPath)/bundle install --retry=3 --jobs=4 27 | displayName: 'Install gems' 28 | - script: | 29 | $(gemBinPath)/bundle exec $(gemBinPath)/rake 30 | env: 31 | BACKLOG_SPACE_ID: $(spaceId) 32 | BACKLOG_API_KEY: $(apiKey) 33 | displayName: 'Run test' 34 | -------------------------------------------------------------------------------- /spec/cassettes/project/add_issue_type.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29sb3I9JTIzZTMwMDAwJm5hbWU9JUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgz\nJTg4JUU3JUE4JUFFJUU1JTg4JUE1MQ==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:54:01 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["93"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTM4MzM5LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OG44K5\n44OI56iu5YilMSIsImNvbG9yIjoiI2UzMDAwMCIsImRpc3BsYXlPcmRlciI6\nLTF9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:54:01 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/space/get_space.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/space?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 06:31:38 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["219"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJzcGFjZUtleSI6ImVtc2siLCJuYW1lIjoi44K544Oa44O844K5MSIsIm93\nbmVySWQiOjQ3ODkzLCJsYW5nIjoiamEiLCJ0aW1lem9uZSI6IkFzaWEvVG9r\neW8iLCJyZXBvcnRTZW5kVGltZSI6IjE4OjAwOjAwIiwidGV4dEZvcm1hdHRp\nbmdSdWxlIjoiYmFja2xvZyIsImNyZWF0ZWQiOiIyMDE1LTAxLTEyVDExOjU0\nOjU0WiIsInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDAwOjEyOjE3WiJ9\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 06:31:38 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2019 emsk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issue_attachments.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/1188856/attachments?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:21:47 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["197"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjUzNTM4NywibmFtZSI6IuODhuOCueODiDEudHh0Iiwic2l6ZSI6\nMTksImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIs\nIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxB\nZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0w\nNS0xMFQxMToxMjo1M1oifV0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:21:47 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_issue_type_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes/138339?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTclQTglQUUlRTUl\nODglQTUy\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:55:49 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["93"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTM4MzM5LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OG44K5\n44OI56iu5YilMiIsImNvbG9yIjoiI2UzMDAwMCIsImRpc3BsYXlPcmRlciI6\nLTF9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:55:49 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/remove_issue_attachment.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/issues/1188856/attachments/535387?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:25:05 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["195"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTM1Mzg3LCJuYW1lIjoi44OG44K544OIMS50eHQiLCJzaXplIjox\nOSwiY3JlYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwi\nbmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFk\nZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1\nLTEwVDExOjEyOjUzWiJ9\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:25:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_version_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/versions/39682?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:20:31 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["158"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzk2ODIsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjg5Djg7zjgrjjg6fjg7MxIiwiZGVzY3JpcHRpb24iOm51bGwsInN0YXJ0\nRGF0ZSI6bnVsbCwicmVsZWFzZUR1ZURhdGUiOm51bGwsImFyY2hpdmVkIjpm\nYWxzZSwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:20:31 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project_users.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/users?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:41:23 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["217"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJy\nb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4\nYW1wbGUuY29tIn0seyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8x\nIiwibmFtZSI6IuODpuODvOOCtjEiLCJyb2xlVHlwZSI6MiwibGFuZyI6bnVs\nbCwibWFpbEFkZHJlc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9XQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:41:23 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/get_comment_notifications.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/1188856/comments/5328877/notifications?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:11:25 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["197"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMzNDM3MjQsImFscmVhZHlSZWFkIjpmYWxzZSwicmVhc29uIjoy\nLCJ1c2VyIjp7ImlkIjo1NjUzNCwidXNlcklkIjoidGVzdF91c2VyXzEiLCJu\nYW1lIjoi44Om44O844K2MSIsInJvbGVUeXBlIjoyLCJsYW5nIjpudWxsLCJt\nYWlsQWRkcmVzcyI6InVzZXIxQGV4YW1wbGUuY29tIn0sInJlc291cmNlQWxy\nZWFkeVJlYWQiOmZhbHNlfV0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:11:25 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_pull_request_attachments.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests/2/attachments?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 13 Sep 2015 04:27:32 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["187"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjQsIm5hbWUiOiLnjKsucG5nIiwic2l6ZSI6MjIyMCwiY3JlYXRl\nZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVt\nc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJl\nbXNrQGV4YW1wbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA5LTA2VDE1OjAz\nOjA2WiJ9XQ==\n"},"http_version":null},"recorded_at":"Sun, 13 Sep 2015 04:27:32 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_project_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:37:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["187"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BST0pFQ1RfMSIsIm5h\nbWUiOiJ0ZXN0X3Byb2plY3RfMSIsImNoYXJ0RW5hYmxlZCI6ZmFsc2UsInN1\nYnRhc2tpbmdFbmFibGVkIjpmYWxzZSwidGV4dEZvcm1hdHRpbmdSdWxlIjoi\nYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxheU9yZGVyIjoyMTQ3\nNDgzNjQ2fQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:37:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_pull_request_attachment.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31581/git/repositories/13844/pullRequests/2/attachments/4?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 13 Sep 2015 04:39:59 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["185"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NCwibmFtZSI6IueMqy5wbmciLCJzaXplIjoyMjIwLCJjcmVhdGVk\nVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1z\nayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVt\nc2tAZXhhbXBsZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDktMDZUMTU6MDM6\nMDZaIn0=\n"},"http_version":null},"recorded_at":"Sun, 13 Sep 2015 04:39:59 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: [push, pull_request] 4 | 5 | env: 6 | BACKLOG_SPACE_ID: ${{ secrets.BACKLOG_SPACE_ID }} 7 | BACKLOG_API_KEY: ${{ secrets.BACKLOG_API_KEY }} 8 | 9 | jobs: 10 | build: 11 | runs-on: ${{ matrix.os }} 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | os: [ubuntu-latest, macos-latest, windows-latest] 16 | ruby: [2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0, ruby-head, jruby-9.1, jruby-9.2, jruby-head, truffleruby-19, truffleruby-20, truffleruby-head] 17 | exclude: 18 | - os: windows-latest 19 | ruby: truffleruby-19 20 | - os: windows-latest 21 | ruby: truffleruby-20 22 | - os: windows-latest 23 | ruby: truffleruby-head 24 | steps: 25 | - uses: actions/checkout@v2 26 | - uses: ruby/setup-ruby@v1 27 | with: 28 | ruby-version: ${{ matrix.ruby }} 29 | - name: Install dependencies 30 | run: bundle install --jobs 4 --retry 3 31 | - name: Run test 32 | run: bundle exec rake 33 | - name: Upload coverage to Codecov 34 | uses: codecov/codecov-action@v1 35 | with: 36 | file: ./coverage/.resultset.json 37 | -------------------------------------------------------------------------------- /spec/cassettes/project/get_projects_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 30 Aug 2015 06:39:07 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["245"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMxNTgxLCJwcm9qZWN0S2V5IjoiVEVTVF9QUk9KRUNUXzEiLCJu\nYW1lIjoi44OG44K544OI44OX44Ot44K444Kn44Kv44OIMSIsImNoYXJ0RW5h\nYmxlZCI6ZmFsc2UsInN1YnRhc2tpbmdFbmFibGVkIjpmYWxzZSwicHJvamVj\ndExlYWRlckNhbkVkaXRQcm9qZWN0TGVhZGVyIjpmYWxzZSwidGV4dEZvcm1h\ndHRpbmdSdWxlIjoiYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxh\neU9yZGVyIjoyMTQ3NDgzNjQ2fV0=\n"},"http_version":null},"recorded_at":"Sun, 30 Aug 2015 06:39:07 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_projects_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects?apiKey=&archived=false","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 30 Aug 2015 06:39:04 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["245"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMxNTgxLCJwcm9qZWN0S2V5IjoiVEVTVF9QUk9KRUNUXzEiLCJu\nYW1lIjoi44OG44K544OI44OX44Ot44K444Kn44Kv44OIMSIsImNoYXJ0RW5h\nYmxlZCI6ZmFsc2UsInN1YnRhc2tpbmdFbmFibGVkIjpmYWxzZSwicHJvamVj\ndExlYWRlckNhbkVkaXRQcm9qZWN0TGVhZGVyIjpmYWxzZSwidGV4dEZvcm1h\ndHRpbmdSdWxlIjoiYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxh\neU9yZGVyIjoyMTQ3NDgzNjQ2fV0=\n"},"http_version":null},"recorded_at":"Sun, 30 Aug 2015 06:39:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_recently_viewed_projects_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/myself/recentlyViewedProjects?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 11:16:03 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["234"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"W3sicHJvamVjdCI6eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BS\nT0pFQ1RfMSIsIm5hbWUiOiJ0ZXN0X3Byb2plY3RfMSIsImNoYXJ0RW5hYmxl\nZCI6ZmFsc2UsInN1YnRhc2tpbmdFbmFibGVkIjpmYWxzZSwidGV4dEZvcm1h\ndHRpbmdSdWxlIjoiYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxh\neU9yZGVyIjoyMTQ3NDgzNjQ2fSwidXBkYXRlZCI6IjIwMTUtMDUtMDhUMTU6\nNDk6NTZaIn1d\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 11:16:03 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_recently_viewed_projects_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/myself/recentlyViewedProjects?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 11:16:07 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["234"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"W3sicHJvamVjdCI6eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BS\nT0pFQ1RfMSIsIm5hbWUiOiJ0ZXN0X3Byb2plY3RfMSIsImNoYXJ0RW5hYmxl\nZCI6ZmFsc2UsInN1YnRhc2tpbmdFbmFibGVkIjpmYWxzZSwidGV4dEZvcm1h\ndHRpbmdSdWxlIjoiYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxh\neU9yZGVyIjoyMTQ3NDgzNjQ2fSwidXBkYXRlZCI6IjIwMTUtMDUtMDhUMTU6\nNDk6NTZaIn1d\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 11:16:07 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_recently_viewed_projects_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users/myself/recentlyViewedProjects?apiKey=&order=asc","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 11:16:05 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["234"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"W3sicHJvamVjdCI6eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BS\nT0pFQ1RfMSIsIm5hbWUiOiJ0ZXN0X3Byb2plY3RfMSIsImNoYXJ0RW5hYmxl\nZCI6ZmFsc2UsInN1YnRhc2tpbmdFbmFibGVkIjpmYWxzZSwidGV4dEZvcm1h\ndHRpbmdSdWxlIjoiYmFja2xvZyIsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxh\neU9yZGVyIjoyMTQ3NDgzNjQ2fSwidXBkYXRlZCI6IjIwMTUtMDUtMDhUMTU6\nNDk6NTZaIn1d\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 11:16:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/update_user_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/users/71333?apiKey=","body":{"encoding":"UTF-8","base64_string":"bWFpbEFkZHJlc3M9aGFuYWtvJTQwZXhhbXBsZS5jb20mbmFtZT0lRTMlODMl\nODYlRTMlODIlQjklRTMlODMlODglRTglOEElQjElRTUlQUQlOTAmcGFzc3dv\ncmQ9cGFzc3dvcmQmcm9sZVR5cGU9NQ==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:04:32 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["113"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NzEzMzMsInVzZXJJZCI6InRhcm8iLCJuYW1lIjoi44OG44K544OI\n6Iqx5a2QIiwicm9sZVR5cGUiOjUsImxhbmciOm51bGwsIm1haWxBZGRyZXNz\nIjoiaGFuYWtvQGV4YW1wbGUuY29tIn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:04:32 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/add_version_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/versions?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlOTAlRTMl\nODMlQkMlRTMlODIlQjglRTMlODMlQTclRTMlODMlQjMx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:18:07 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["158"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzk2ODIsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjg5Djg7zjgrjjg6fjg7MxIiwiZGVzY3JpcHRpb24iOm51bGwsInN0YXJ0\nRGF0ZSI6bnVsbCwicmVsZWFzZUR1ZURhdGUiOm51bGwsImFyY2hpdmVkIjpm\nYWxzZSwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:18:07 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/client/authorization.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for OAuth 2.0 authorization 4 | # 5 | # @see http://developer.nulab-inc.com/docs/backlog/auth 6 | module Authorization 7 | # Create a new access token 8 | # 9 | # @param oauth_code [String] Authorization code that you get from the authorization endpoint 10 | # @return [BacklogKit::Response] The token information 11 | def create_token(oauth_code) 12 | params = { 13 | client_id: client_id, 14 | client_secret: client_secret, 15 | grant_type: 'authorization_code', 16 | code: oauth_code 17 | } 18 | params[:redirect_uri] = redirect_uri if redirect_uri 19 | request(:post, 'oauth2/token', params, true) 20 | end 21 | 22 | # Refresh an access token 23 | # 24 | # @return [BacklogKit::Response] The token information 25 | def update_token 26 | params = { 27 | client_id: client_id, 28 | client_secret: client_secret, 29 | grant_type: 'refresh_token', 30 | refresh_token: refresh_token 31 | } 32 | request(:post, 'oauth2/token', params, true) 33 | end 34 | end 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /spec/cassettes/wiki/create_wiki_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/wikis?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29udGVudD0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQTYl\nRTMlODIlQTMlRTMlODIlQUQzJUUzJTgxJUFFJUU1JTg2JTg1JUU1JUFFJUI5\nJUUzJTgxJUE3JUUzJTgxJTk5JUUzJTgwJTgyJm5hbWU9JTVCJUUzJTgzJTg2\nJUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgyJUJGJUUzJTgyJUIwMSU1RCslRTMl\nODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQTYlRTMlODIlQTMlRTMl\nODIlQUQzJnByb2plY3RJZD0zMTIyNCZ0ZXN0PXRlc3Q=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":400,"message":"Bad Request"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:34:20 GMT"],"Server":["nginx"],"Content-Length":["79"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJlcnJvcnMiOlt7Im1lc3NhZ2UiOiJlcnJvci51bmtub3duUGFyYW1ldGVy\nIDogdGVzdCIsImNvZGUiOjcsIm1vcmVJbmZvIjoiIn1dfQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:34:20 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_version_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/versions/39682?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlOTAlRTMl\nODMlQkMlRTMlODIlQjglRTMlODMlQTclRTMlODMlQjM0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:20:33 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["158"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzk2ODIsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjg5Djg7zjgrjjg6fjg7M0IiwiZGVzY3JpcHRpb24iOm51bGwsInN0YXJ0\nRGF0ZSI6bnVsbCwicmVsZWFzZUR1ZURhdGUiOm51bGwsImFyY2hpdmVkIjpm\nYWxzZSwiZGlzcGxheU9yZGVyIjotMX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:20:33 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/authorization/update_token.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/oauth2/token","body":{"encoding":"UTF-8","base64_string":"Y2xpZW50X2lkPTxCQUNLTE9HX09BVVRIX0NMSUVOVF9JRD4mY2xpZW50X3Nl\nY3JldD08QkFDS0xPR19PQVVUSF9DTElFTlRfU0VDUkVUPiZncmFudF90eXBl\nPXJlZnJlc2hfdG9rZW4mcmVmcmVzaF90b2tlbj08QkFDS0xPR19PQVVUSF9S\nRUZSRVNIX1RPS0VOPg==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Content-Type":["application/json; charset=utf-8"],"Date":["Fri, 15 May 2015 16:15:29 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["206"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJ0b2tlbl90eXBlIjoiQmVhcmVyIiwiYWNjZXNzX3Rva2VuIjoiRHY5M2Fx\nMjcydTExR3Iwc0xUZXRIcnloOWN5bVJZbGM3d2dMeHFrSG91bTl0b1N3WDZZ\nV0x5aHFoNmFWT2JVVSIsImV4cGlyZXNfaW4iOjExMDIsInJlZnJlc2hfdG9r\nZW4iOiI8QkFDS0xPR19PQVVUSF9SRUZSRVNIX1RPS0VOPiJ9\n"},"http_version":null},"recorded_at":"Fri, 15 May 2015 16:15:29 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_stars.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/80179/stars?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:08:04 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["296"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjExMTAyMiwiY29tbWVudCI6bnVsbCwidXJsIjoiaHR0cHM6Ly88\nQkFDS0xPR19TUEFDRV9JRD4uYmFja2xvZy5qcC9hbGlhcy93aWtpLzgwMTc5\nIiwidGl0bGUiOiJCYWNrbG9nIHwgV2lraSAtIHRlc3RfcHJvamVjdF8xKFRF\nU1RfUFJPSkVDVF8xKSA6IOOCpuOCo+OCrTEiLCJwcmVzZW50ZXIiOnsiaWQi\nOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlw\nZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUu\nY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1LTA5VDExOjE2OjI5WiJ9XQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:08:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/client/notification.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Notification API 4 | module Notification 5 | # Get list of own notifications 6 | # 7 | # @param params [Hash] Request parameters 8 | # @return [BacklogKit::Response] List of notifications 9 | def get_notifications(params = {}) 10 | get('notifications', params) 11 | end 12 | 13 | # Get number of own notifications 14 | # 15 | # @param params [Hash] Request parameters 16 | # @return [BacklogKit::Response] Number of notifications 17 | def get_notification_count(params = {}) 18 | get('notifications/count', params) 19 | end 20 | 21 | # Reset unread notification count 22 | # 23 | # @return [BacklogKit::Response] Number of notifications 24 | def reset_unread_notification_count 25 | post('notifications/markAsRead') 26 | end 27 | 28 | # Mark a notification as read 29 | # 30 | # @param notification_id [Integer, String] Notification id 31 | # @return [BacklogKit::Response] No content response 32 | def mark_as_read_notification(notification_id) 33 | post("notifications/#{notification_id}/markAsRead") 34 | end 35 | end 36 | end 37 | end 38 | -------------------------------------------------------------------------------- /spec/cassettes/user/create_user_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/users?apiKey=","body":{"encoding":"UTF-8","base64_string":"bWFpbEFkZHJlc3M9dGFybyU0MGV4YW1wbGUuY29tJm5hbWU9JUUzJTgzJTg2\nJUUzJTgyJUI5JUUzJTgzJTg4JUU1JUE0JUFBJUU5JTgzJThFJnBhc3N3b3Jk\nPXBhc3N3b3JkJnJvbGVUeXBlPTYmdXNlcklkPXRhcm8=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":201,"message":"Created"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 10:02:09 GMT"],"Location":["https://.backlog.jp/user/taro"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["111"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NzEzMzMsInVzZXJJZCI6InRhcm8iLCJuYW1lIjoi44OG44K544OI\n5aSq6YOOIiwicm9sZVR5cGUiOjYsImxhbmciOm51bGwsIm1haWxBZGRyZXNz\nIjoidGFyb0BleGFtcGxlLmNvbSJ9\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 10:02:10 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_versions.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/versions?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:06:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["323"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjM5MzE2LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OQ44O8\n44K444On44OzMS4wLjAiLCJkZXNjcmlwdGlvbiI6IiIsInN0YXJ0RGF0ZSI6\nbnVsbCwicmVsZWFzZUR1ZURhdGUiOm51bGwsImFyY2hpdmVkIjpmYWxzZSwi\nZGlzcGxheU9yZGVyIjoyMTQ3NDgzNjQ2fSx7ImlkIjozOTMxNywicHJvamVj\ndElkIjozMTIyNCwibmFtZSI6IuODnuOCpOODq+OCueODiOODvOODszEiLCJk\nZXNjcmlwdGlvbiI6IiIsInN0YXJ0RGF0ZSI6bnVsbCwicmVsZWFzZUR1ZURh\ndGUiOm51bGwsImFyY2hpdmVkIjpmYWxzZSwiZGlzcGxheU9yZGVyIjoyMTQ3\nNDgzNjQ2fV0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:06:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_project_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlOTclRTMl\nODMlQUQlRTMlODIlQjglRTMlODIlQTclRTMlODIlQUYlRTMlODMlODgx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:37:15 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["201"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MzEyMjQsInByb2plY3RLZXkiOiJURVNUX1BST0pFQ1RfMSIsIm5h\nbWUiOiLjg4bjgrnjg4jjg5fjg63jgrjjgqfjgq/jg4gxIiwiY2hhcnRFbmFi\nbGVkIjpmYWxzZSwic3VidGFza2luZ0VuYWJsZWQiOmZhbHNlLCJ0ZXh0Rm9y\nbWF0dGluZ1J1bGUiOiJiYWNrbG9nIiwiYXJjaGl2ZWQiOmZhbHNlLCJkaXNw\nbGF5T3JkZXIiOjIxNDc0ODM2NDZ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:37:15 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/error.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | # Custom error class for rescuing from Backlog errors 3 | # 4 | # @see http://developer.nulab-inc.com/docs/backlog/error-response 5 | class Error < StandardError 6 | # Make a custom error message 7 | # 8 | # @param response [Hash] Error response 9 | # @param index [Integer] Index of the error 10 | # @return [String] Error message 11 | def self.build_error_message(response, index) 12 | message = "[ERROR #{index}] " 13 | message += "#{self.name.demodulize} - #{response['message']} (CODE: #{response['code']})" 14 | more_info = response['moreInfo'].to_s 15 | message += " (MORE INFO: #{more_info})" unless more_info.empty? 16 | message 17 | end 18 | end 19 | 20 | class ConnectionError < Error; end 21 | class UnexpectedError < Error; end 22 | class InternalError < Error; end 23 | class LicenceError < Error; end 24 | class LicenceExpiredError < Error; end 25 | class AccessDeniedError < Error; end 26 | class UnauthorizedOperationError < Error; end 27 | class NoResourceError < Error; end 28 | class InvalidRequestError < Error; end 29 | class SpaceOverCapacityError < Error; end 30 | class ResourceOverflowError < Error; end 31 | class TooLargeFileError < Error; end 32 | class AuthenticationError < Error; end 33 | end 34 | -------------------------------------------------------------------------------- /spec/cassettes/project/get_issue_types.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/issueTypes?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 12:52:38 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["339"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjEzNjc3NCwicHJvamVjdElkIjozMTIyNCwibmFtZSI6IuOCv+OC\nueOCryIsImNvbG9yIjoiIzdlYTgwMCIsImRpc3BsYXlPcmRlciI6MH0seyJp\nZCI6MTM2NzczLCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoi44OQ44KwIiwi\nY29sb3IiOiIjOTkwMDAwIiwiZGlzcGxheU9yZGVyIjoxfSx7ImlkIjoxMzY3\nNzUsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLopoHmnJsiLCJjb2xvciI6\nIiNmZjkyMDAiLCJkaXNwbGF5T3JkZXIiOjJ9LHsiaWQiOjEzNjc3NiwicHJv\namVjdElkIjozMTIyNCwibmFtZSI6IuOBneOBruS7liIsImNvbG9yIjoiIzI3\nNzljYSIsImRpc3BsYXlPcmRlciI6M31d\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 12:52:38 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/authorization/create_token_when_redirect_uri_is_nil.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/oauth2/token","body":{"encoding":"UTF-8","base64_string":"Y2xpZW50X2lkPTxCQUNLTE9HX09BVVRIX0NMSUVOVF9JRD4mY2xpZW50X3Nl\nY3JldD08QkFDS0xPR19PQVVUSF9DTElFTlRfU0VDUkVUPiZjb2RlPVdoVkFC\ncm1ZcHduS1FJSklhRHhCSjh2U2hoU1BEdlB6ejhPSnRENkhlZEZXWjhNM0hP\nT0RaR3RocDZnYWtEcFkmZ3JhbnRfdHlwZT1hdXRob3JpemF0aW9uX2NvZGU=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Content-Type":["application/json; charset=utf-8"],"Date":["Fri, 15 May 2015 16:21:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["205"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJ0b2tlbl90eXBlIjoiQmVhcmVyIiwiYWNjZXNzX3Rva2VuIjoiRHY5M2Fx\nMjcydTExR3Iwc0xUZXRIcnloOWN5bVJZbGM3d2dMeHFrSG91bTl0b1N3WDZZ\nV0x5aHFoNmFWT2JVVSIsImV4cGlyZXNfaW4iOjc1NSwicmVmcmVzaF90b2tl\nbiI6IjxCQUNLTE9HX09BVVRIX1JFRlJFU0hfVE9LRU4+In0=\n"},"http_version":null},"recorded_at":"Fri, 15 May 2015 16:21:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/add_comment_notification_given_no_notified_user_ids.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues/1188856/comments/5328861/notifications?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:14:01 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["275"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTMyODg2MSwiY29udGVudCI6IuODhuOCueODiOOCs+ODoeODs+OD\niDQiLCJjaGFuZ2VMb2ciOltdLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMs\nInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJs\nYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwi\nY3JlYXRlZCI6IjIwMTUtMDUtMTBUMTM6NTQ6MjZaIiwidXBkYXRlZCI6IjIw\nMTUtMDUtMTBUMTQ6MDk6MTNaIiwic3RhcnMiOltdLCJub3RpZmljYXRpb25z\nIjpbXX0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:14:01 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /.rubocop_todo.yml: -------------------------------------------------------------------------------- 1 | # This configuration was generated by 2 | # `rubocop --auto-gen-config` 3 | # on 2018-12-09 20:55:36 +0900 using RuboCop version 0.61.1. 4 | # The point is for the user to remove these configuration records 5 | # one by one as the offenses are removed from the code base. 6 | # Note that changes in the inspected code, or installation of new 7 | # versions of RuboCop, may require this file to be generated again. 8 | 9 | # Offense count: 1 10 | # Configuration parameters: Include. 11 | # Include: **/*.gemspec 12 | Gemspec/RequiredRubyVersion: 13 | Exclude: 14 | - 'backlog_kit.gemspec' 15 | 16 | # Offense count: 3 17 | Lint/UriEscapeUnescape: 18 | Exclude: 19 | - 'lib/backlog_kit/client.rb' 20 | 21 | # Offense count: 9 22 | Style/Documentation: 23 | Exclude: 24 | - 'spec/**/*' 25 | - 'test/**/*' 26 | - 'lib/backlog_kit/hash_extensions.rb' 27 | - 'lib/backlog_kit/resource.rb' 28 | - 'lib/backlog_kit/resource_file.rb' 29 | - 'lib/backlog_kit/response.rb' 30 | - 'lib/backlog_kit/response/file_parser.rb' 31 | - 'lib/backlog_kit/response/middleware.rb' 32 | - 'lib/backlog_kit/response/raise_error.rb' 33 | 34 | # Offense count: 309 35 | # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. 36 | # URISchemes: http, https 37 | Metrics/LineLength: 38 | Max: 176 39 | -------------------------------------------------------------------------------- /spec/cassettes/group/delete_group.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/groups/3747?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:36:31 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzc0NywibmFtZSI6IuODhuOCueODiOOCsOODq+ODvOODlzQiLCJt\nZW1iZXJzIjpbXSwiZGlzcGxheU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsi\naWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xl\nVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1w\nbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1LTA5VDAwOjIyOjQyWiIsInVw\nZGF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUi\nOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNz\nIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQw\nMDozMzozMVoifQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:36:31 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_shared_files.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/80179/sharedFiles?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:00:36 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:00:36 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/get_issue_shared_files.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/issues/1188856/sharedFiles?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:26:40 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:26:40 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/unlink_wiki_shared_file.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/wikis/80242/sharedFiles/2654538?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:03:42 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["368"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MjY1NDUzOCwidHlwZSI6ImZpbGUiLCJkaXIiOiIvIiwibmFtZSI6\nIuODhuOCueODiDEudHh0Iiwic2l6ZSI6MTksImNyZWF0ZWRVc2VyIjp7Imlk\nIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5\ncGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxl\nLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0wNS0wOVQxNjoyMjoxOVoiLCJ1cGRh\ndGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoi\nZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6\nImVtc2tAZXhhbXBsZS5jb20ifSwidXBkYXRlZCI6IjIwMTUtMDUtMDlUMTY6\nMzI6MThaIn0=\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:03:42 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/unlink_issue_shared_file.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/issues/1188856/sharedFiles/2654538?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:28:55 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["368"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MjY1NDUzOCwidHlwZSI6ImZpbGUiLCJkaXIiOiIvIiwibmFtZSI6\nIuODhuOCueODiDEudHh0Iiwic2l6ZSI6MTksImNyZWF0ZWRVc2VyIjp7Imlk\nIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5\ncGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxl\nLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0wNS0wOVQxNjoyMjoxOVoiLCJ1cGRh\ndGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoi\nZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6\nImVtc2tAZXhhbXBsZS5jb20ifSwidXBkYXRlZCI6IjIwMTUtMDUtMDlUMTY6\nMzI6MThaIn0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:28:55 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/update_comment.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/issues/1188856/comments/5328861?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29udGVudD0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjMl\nRTMlODMlQTElRTMlODMlQjMlRTMlODMlODg0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:09:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["275"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTMyODg2MSwiY29udGVudCI6IuODhuOCueODiOOCs+ODoeODs+OD\niDQiLCJjaGFuZ2VMb2ciOltdLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMs\nInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJs\nYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwi\nY3JlYXRlZCI6IjIwMTUtMDUtMTBUMTM6NTQ6MjZaIiwidXBkYXRlZCI6IjIw\nMTUtMDUtMTBUMTQ6MDk6MTNaIiwic3RhcnMiOltdLCJub3RpZmljYXRpb25z\nIjpbXX0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:09:15 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_shared_files_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/files/metadata/?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:25:48 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:25:48 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/authorization/create_token_when_redirect_uri_is_not_nil.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/oauth2/token","body":{"encoding":"UTF-8","base64_string":"Y2xpZW50X2lkPTxCQUNLTE9HX09BVVRIX0NMSUVOVF9JRD4mY2xpZW50X3Nl\nY3JldD08QkFDS0xPR19PQVVUSF9DTElFTlRfU0VDUkVUPiZjb2RlPXp5QkMw\nTzhiWjR2YkxTbE5xNjNkdVdlZElGdjJHVmNwMUdaM0EzMThlanMzOVZoYU5m\nbGVPa3I5VWN0b1dhZ2cmZ3JhbnRfdHlwZT1hdXRob3JpemF0aW9uX2NvZGUm\ncmVkaXJlY3RfdXJpPWh0dHAlM0ElMkYlMkZsb2NhbGhvc3QlM0EzMDAw\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Content-Type":["application/json; charset=utf-8"],"Date":["Fri, 15 May 2015 16:20:21 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["205"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"eyJ0b2tlbl90eXBlIjoiQmVhcmVyIiwiYWNjZXNzX3Rva2VuIjoiRHY5M2Fx\nMjcydTExR3Iwc0xUZXRIcnloOWN5bVJZbGM3d2dMeHFrSG91bTl0b1N3WDZZ\nV0x5aHFoNmFWT2JVVSIsImV4cGlyZXNfaW4iOjgxMCwicmVmcmVzaF90b2tl\nbiI6IjxCQUNLTE9HX09BVVRIX1JFRlJFU0hfVE9LRU4+In0=\n"},"http_version":null},"recorded_at":"Fri, 15 May 2015 16:20:21 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_shared_files_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/files/metadata/?apiKey=&order=asc","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:25:50 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:25:50 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_shared_files_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/files/metadata/?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:25:54 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:25:54 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/update_group_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/groups/3747?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:33:28 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzc0NywibmFtZSI6IuODhuOCueODiOOCsOODq+ODvOODlzEiLCJt\nZW1iZXJzIjpbXSwiZGlzcGxheU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsi\naWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xl\nVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1w\nbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1LTA5VDAwOjIyOjQyWiIsInVw\nZGF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUi\nOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNz\nIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQw\nMDozMzoyOFoifQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:33:28 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/user/get_users.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/users?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 09:54:56 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["447"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJy\nb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4\nYW1wbGUuY29tIn0seyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8x\nIiwibmFtZSI6IuODpuODvOOCtjEiLCJyb2xlVHlwZSI6MiwibGFuZyI6bnVs\nbCwibWFpbEFkZHJlc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9LHsiaWQiOjYy\nMzgwLCJ1c2VySWQiOiJ0ZXN0X3VzZXJfMiIsIm5hbWUiOiLjg6bjg7zjgrYy\nIiwicm9sZVR5cGUiOjUsImxhbmciOm51bGwsIm1haWxBZGRyZXNzIjoidXNl\ncjJAZXhhbXBsZS5jb20ifSx7ImlkIjo2MjM4MywidXNlcklkIjoidGVzdF91\nc2VyXzMiLCJuYW1lIjoi44Om44O844K2MyIsInJvbGVUeXBlIjoyLCJsYW5n\nIjpudWxsLCJtYWlsQWRkcmVzcyI6InVzZXIzQGV4YW1wbGUuY29tIn1d\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 09:54:56 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/delete_comment.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/issues/1267081/comments/60926684?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 09 Dec 2018 09:40:43 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Content-Type-Options":["nosniff"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["381"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NjA5MjY2ODQsImNvbnRlbnQiOiLmm7TmlrDjg4bjgrnjg4giLCJj\naGFuZ2VMb2ciOltdLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJ\nZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoi\namEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20iLCJudWxhYkFj\nY291bnQiOnsibnVsYWJJZCI6InV6bWFObHZDS25TRVN6YnZJc0FwbzNmdEdL\nNVQ2ajRObHZsMTMwNXc0NzB0QW1tck5oIiwibmFtZSI6ImVtc2siLCJ1bmlx\ndWVJZCI6ImVtc2sifX0sImNyZWF0ZWQiOiIyMDE4LTA2LTAyVDAyOjA4OjU0\nWiIsInVwZGF0ZWQiOiIyMDE4LTA2LTAyVDAyOjA4OjU0WiIsInN0YXJzIjpb\nXSwibm90aWZpY2F0aW9ucyI6W119\n"},"http_version":null},"recorded_at":"Sun, 09 Dec 2018 09:40:43 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/link_wiki_shared_files.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/wikis/80242/sharedFiles?apiKey=","body":{"encoding":"UTF-8","base64_string":"ZmlsZUlkJTVCJTVEPTI2NTQ1Mzg=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:02:46 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:02:46 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/link_issue_shared_files.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues/1188856/sharedFiles?apiKey=","body":{"encoding":"UTF-8","base64_string":"ZmlsZUlkJTVCJTVEPTI2NTQ1Mzg=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:27:58 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjI2NTQ1MzgsInR5cGUiOiJmaWxlIiwiZGlyIjoiLyIsIm5hbWUi\nOiLjg4bjgrnjg4gxLnR4dCIsInNpemUiOjE5LCJjcmVhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifSwiY3JlYXRlZCI6IjIwMTUtMDUtMDlUMTY6MjI6MTlaIiwidXBk\nYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6\nImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3Mi\nOiJlbXNrQGV4YW1wbGUuY29tIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDE2\nOjMyOjE4WiJ9XQ==\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:27:58 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/remove_webhook.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks/106?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:39:44 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["434"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTA2LCJuYW1lIjoi44OG44K544OI44Km44Kn44OW44OV44OD44Kv\nMiIsImRlc2NyaXB0aW9uIjoiIiwiaG9va1VybCI6Imh0dHBzOi8vZXhhbXBs\nZS5jb20iLCJhbGxFdmVudCI6ZmFsc2UsImFjdGl2aXR5VHlwZUlkcyI6WzEs\nMl0sImNyZWF0ZWQiOiIyMDE1LTA1LTEyVDEzOjM4OjE2WiIsImNyZWF0ZWRV\nc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNr\nIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1z\na0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0xMlQxMzozOTox\nOVoiLCJ1cGRhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2si\nLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWls\nQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:39:44 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_webhook.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks/105?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:37:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["458"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTA1LCJuYW1lIjoi44Km44Kn44OW44OV44OD44KvMSIsImRlc2Ny\naXB0aW9uIjoi44Km44Kn44OW44OV44OD44KvMeOBruiqrOaYjuOBp+OBmeOA\ngiIsImhvb2tVcmwiOiJodHRwczovL2V4YW1wbGUuY29tIiwiYWxsRXZlbnQi\nOnRydWUsImFjdGl2aXR5VHlwZUlkcyI6W10sImNyZWF0ZWQiOiIyMDE1LTA1\nLTEyVDEzOjM1OjU1WiIsImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNl\ncklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmci\nOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJ1cGRh\ndGVkIjoiMjAxNS0wNS0xMlQxMzozNTo1NVoiLCJ1cGRhdGVkVXNlciI6eyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20ifX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:37:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_webhooks.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:36:13 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["460"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjEwNSwibmFtZSI6IuOCpuOCp+ODluODleODg+OCrzEiLCJkZXNj\ncmlwdGlvbiI6IuOCpuOCp+ODluODleODg+OCrzHjga7oqqzmmI7jgafjgZnj\ngIIiLCJob29rVXJsIjoiaHR0cHM6Ly9leGFtcGxlLmNvbSIsImFsbEV2ZW50\nIjp0cnVlLCJhY3Rpdml0eVR5cGVJZHMiOltdLCJjcmVhdGVkIjoiMjAxNS0w\nNS0xMlQxMzozNTo1NVoiLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVz\nZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5n\nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwidXBk\nYXRlZCI6IjIwMTUtMDUtMTJUMTM6MzU6NTVaIiwidXBkYXRlZFVzZXIiOnsi\naWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xl\nVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1w\nbGUuY29tIn19XQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:36:13 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/add_comment_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues/1188856/comments?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y29udGVudD0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjMl\nRTMlODMlQTElRTMlODMlQjMlRTMlODMlODgx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":201,"message":"Created"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 13:54:26 GMT"],"Location":["https://.backlog.jp/view/TEST_PROJECT_1-1#comment-5328861"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["275"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTMyODg2MSwiY29udGVudCI6IuODhuOCueODiOOCs+ODoeODs+OD\niDEiLCJjaGFuZ2VMb2ciOltdLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMs\nInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJs\nYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwi\nY3JlYXRlZCI6IjIwMTUtMDUtMTBUMTM6NTQ6MjZaIiwidXBkYXRlZCI6IjIw\nMTUtMDUtMTBUMTM6NTQ6MjZaIiwic3RhcnMiOltdLCJub3RpZmljYXRpb25z\nIjpbXX0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 13:54:26 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/create_group_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/groups?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjAlRTMl\nODMlQUIlRTMlODMlQkMlRTMlODMlOTcx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:22:42 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzc0NywibmFtZSI6IuODhuOCueODiOOCsOODq+ODvOODlzEiLCJt\nZW1iZXJzIjpbXSwiZGlzcGxheU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsi\naWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xl\nVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1w\nbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1LTA5VDAwOjIyOjQyWiIsInVw\nZGF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUi\nOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNz\nIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQw\nMDoyMjo0MloifQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:22:42 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/create_project_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects?apiKey=","body":{"encoding":"UTF-8","base64_string":"Y2hhcnRFbmFibGVkPWZhbHNlJmtleT1URVNUX1BST0pFQ1RfMSZuYW1lPSVF\nMyU4MyU4NiVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4MyU5NyVFMyU4MyVBRCVF\nMyU4MiVCOCVFMyU4MiVBNyVFMyU4MiVBRiVFMyU4MyU4ODEmc3VidGFza2lu\nZ0VuYWJsZWQ9ZmFsc2UmdGV4dEZvcm1hdHRpbmdSdWxlPWJhY2tsb2c=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":201,"message":"Created"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 15:13:47 GMT"],"Location":["https://.backlog.jp/projects/TEST_PROJECT_1"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["201"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MzE1ODEsInByb2plY3RLZXkiOiJURVNUX1BST0pFQ1RfMSIsIm5h\nbWUiOiLjg4bjgrnjg4jjg5fjg63jgrjjgqfjgq/jg4gxIiwiY2hhcnRFbmFi\nbGVkIjpmYWxzZSwic3VidGFza2luZ0VuYWJsZWQiOmZhbHNlLCJ0ZXh0Rm9y\nbWF0dGluZ1J1bGUiOiJiYWNrbG9nIiwiYXJjaGl2ZWQiOmZhbHNlLCJkaXNw\nbGF5T3JkZXIiOjIxNDc0ODM2NDZ9\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 15:13:47 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/update_group_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/groups/3747?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQjAlRTMl\nODMlQUIlRTMlODMlQkMlRTMlODMlOTc0\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:33:31 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["370"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzc0NywibmFtZSI6IuODhuOCueODiOOCsOODq+ODvOODlzQiLCJt\nZW1iZXJzIjpbXSwiZGlzcGxheU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsi\naWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xl\nVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1w\nbGUuY29tIn0sImNyZWF0ZWQiOiIyMDE1LTA1LTA5VDAwOjIyOjQyWiIsInVw\nZGF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUi\nOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNz\nIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQw\nMDozMzozMVoifQ==\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:33:31 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_webhook_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks/106?apiKey=","body":{"encoding":"UTF-8","base64_string":""},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:39:16 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["434"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTA2LCJuYW1lIjoi44OG44K544OI44Km44Kn44OW44OV44OD44Kv\nMSIsImRlc2NyaXB0aW9uIjoiIiwiaG9va1VybCI6Imh0dHBzOi8vZXhhbXBs\nZS5jb20iLCJhbGxFdmVudCI6ZmFsc2UsImFjdGl2aXR5VHlwZUlkcyI6WzEs\nMl0sImNyZWF0ZWQiOiIyMDE1LTA1LTEyVDEzOjM4OjE2WiIsImNyZWF0ZWRV\nc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNr\nIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1z\na0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0xMlQxMzozOTox\nNloiLCJ1cGRhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2si\nLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWls\nQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:39:16 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_histories_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/80179/history?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:07:01 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["477"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3sicGFnZUlkIjo4MDE3OSwidmVyc2lvbiI6MiwibmFtZSI6IuOCpuOCo+OC\nrTEiLCJjb250ZW50Ijoi44Km44Kj44KtMeOBruWGheWuueOBp+OBmeOAgiIs\nImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5h\nbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRy\nZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0wNS0x\nMFQxMToyMToxNVoifSx7InBhZ2VJZCI6ODAxNzksInZlcnNpb24iOjEsIm5h\nbWUiOiLjgqbjgqPjgq0xIiwiY29udGVudCI6IuOCpuOCo+OCrTHjga7lhoXl\nrrnjgafjgZnjgIIiLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJ\nZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoi\namEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwiY3JlYXRl\nZCI6IjIwMTUtMDUtMDlUMTE6MTE6MjNaIn1d\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:07:01 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_histories_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/80179/history?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:07:05 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["477"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3sicGFnZUlkIjo4MDE3OSwidmVyc2lvbiI6MiwibmFtZSI6IuOCpuOCo+OC\nrTEiLCJjb250ZW50Ijoi44Km44Kj44KtMeOBruWGheWuueOBp+OBmeOAgiIs\nImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5h\nbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRy\nZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0wNS0x\nMFQxMToyMToxNVoifSx7InBhZ2VJZCI6ODAxNzksInZlcnNpb24iOjEsIm5h\nbWUiOiLjgqbjgqPjgq0xIiwiY29udGVudCI6IuOCpuOCo+OCrTHjga7lhoXl\nrrnjgafjgZnjgIIiLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJ\nZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoi\namEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwiY3JlYXRl\nZCI6IjIwMTUtMDUtMDlUMTE6MTE6MjNaIn1d\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:07:05 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/get_wiki_histories_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/wikis/80179/history?apiKey=&order=asc","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 15:07:03 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["477"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3sicGFnZUlkIjo4MDE3OSwidmVyc2lvbiI6MSwibmFtZSI6IuOCpuOCo+OC\nrTEiLCJjb250ZW50Ijoi44Km44Kj44KtMeOBruWGheWuueOBp+OBmeOAgiIs\nImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5h\nbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRy\nZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJjcmVhdGVkIjoiMjAxNS0wNS0w\nOVQxMToxMToyM1oifSx7InBhZ2VJZCI6ODAxNzksInZlcnNpb24iOjIsIm5h\nbWUiOiLjgqbjgqPjgq0xIiwiY29udGVudCI6IuOCpuOCo+OCrTHjga7lhoXl\nrrnjgafjgZnjgIIiLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJ\nZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoi\namEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwiY3JlYXRl\nZCI6IjIwMTUtMDUtMTBUMTE6MjE6MTVaIn1d\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 15:07:03 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/wiki/delete_wiki_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/wikis/80588?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:40:04 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["497"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6ODA1ODgsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjgqbjgqPjgq01IiwiY29udGVudCI6IuODhuOCueODiOOCpuOCo+OCrTXj\nga7lhoXlrrnjgafjgZnjgIIiLCJ0YWdzIjpbeyJpZCI6MzI4NSwibmFtZSI6\nIuODhuOCueODiOOCv+OCsDIifV0sImF0dGFjaG1lbnRzIjpbXSwic2hhcmVk\nRmlsZXMiOltdLCJzdGFycyI6W10sImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5\nMywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEs\nImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9\nLCJjcmVhdGVkIjoiMjAxNS0wNS0xMVQxNDozNDoxNFoiLCJ1cGRhdGVkVXNl\nciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIs\nInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tA\nZXhhbXBsZS5jb20ifSwidXBkYXRlZCI6IjIwMTUtMDUtMTFUMTQ6Mzc6NDJa\nIn0=\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:40:04 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/client/group.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Group API 4 | module Group 5 | # Get list of groups 6 | # 7 | # @param params [Hash] Request parameters 8 | # @return [BacklogKit::Response] List of groups 9 | def get_groups(params = {}) 10 | get('groups', params) 11 | end 12 | 13 | # Get a group 14 | # 15 | # @param group_id [Integer, String] Group id 16 | # @return [BacklogKit::Response] The group information 17 | def get_group(group_id) 18 | get("groups/#{group_id}") 19 | end 20 | 21 | # Create a new group 22 | # 23 | # @param name [String] Group name 24 | # @param params [Hash] Request parameters 25 | # @return [BacklogKit::Response] The group information 26 | def create_group(name, params = {}) 27 | params[:name] = name 28 | post('groups', params) 29 | end 30 | 31 | # Update a group 32 | # 33 | # @param group_id [Integer, String] Group id 34 | # @param params [Hash] Request parameters 35 | # @return [BacklogKit::Response] The group information 36 | def update_group(group_id, params = {}) 37 | patch("groups/#{group_id}", params) 38 | end 39 | 40 | # Delete a group 41 | # 42 | # @param group_id [Integer, String] Group id 43 | # @return [BacklogKit::Response] The group information 44 | def delete_group(group_id) 45 | delete("groups/#{group_id}") 46 | end 47 | end 48 | end 49 | end 50 | -------------------------------------------------------------------------------- /spec/cassettes/wiki/delete_wiki_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/wikis/80589?apiKey=&mailNotify=false","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:40:08 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["497"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6ODA1ODksInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjgqbjgqPjgq0yIiwiY29udGVudCI6IuODhuOCueODiOOCpuOCo+OCrTLj\nga7lhoXlrrnjgafjgZnjgIIiLCJ0YWdzIjpbeyJpZCI6MzI4NCwibmFtZSI6\nIuODhuOCueODiOOCv+OCsDEifV0sImF0dGFjaG1lbnRzIjpbXSwic2hhcmVk\nRmlsZXMiOltdLCJzdGFycyI6W10sImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5\nMywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEs\nImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9\nLCJjcmVhdGVkIjoiMjAxNS0wNS0xMVQxNDozNDoxN1oiLCJ1cGRhdGVkVXNl\nciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIs\nInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tA\nZXhhbXBsZS5jb20ifSwidXBkYXRlZCI6IjIwMTUtMDUtMTFUMTQ6MzQ6MTda\nIn0=\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:40:08 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /azure-pipelines-templates/steps-ubuntu.yml: -------------------------------------------------------------------------------- 1 | steps: 2 | - script: | 3 | sudo apt-get remove ruby 4 | sudo apt-get install autoconf bison build-essential libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev libdb-dev 5 | if [[ $(rubyVersion) =~ 2\.[0-3]\.[0-9]+ ]]; then 6 | sudo apt-get remove libssl-dev 7 | sudo apt-get install $(libsslDev10PackageName) 8 | fi 9 | displayName: 'Install APT packages' 10 | - task: Cache@2 11 | inputs: 12 | key: 'ruby | "$(Agent.JobName)" | "$(rubyVersion)"' 13 | path: $(rubyPath) 14 | cacheHitVar: rubyCacheRestored 15 | displayName: 'Cache Ruby' 16 | - script: | 17 | git clone https://github.com/rbenv/ruby-build.git 18 | PREFIX=~/local ./ruby-build/install.sh 19 | condition: ne(variables.rubyCacheRestored, 'true') 20 | displayName: 'Install ruby-build' 21 | - script: | 22 | $(rubyBuildBinPath)/ruby-build $(rubyVersion) $(rubyPath) 23 | condition: ne(variables.rubyCacheRestored, 'true') 24 | displayName: 'Install Ruby' 25 | - script: | 26 | if [[ $(rubyVersion) =~ 2\.[0-2]\.[0-9]+ ]]; then 27 | $(gemBinPath)/gem install bundler --no-document -v '<2' 28 | else 29 | $(gemBinPath)/gem install bundler --no-document 30 | fi 31 | displayName: 'Install bundler' 32 | - script: | 33 | $(gemBinPath)/bundle install --retry=3 --jobs=4 34 | displayName: 'Install gems' 35 | - script: | 36 | $(gemBinPath)/bundle exec $(gemBinPath)/rake 37 | env: 38 | BACKLOG_SPACE_ID: $(spaceId) 39 | BACKLOG_API_KEY: $(apiKey) 40 | displayName: 'Run test' 41 | -------------------------------------------------------------------------------- /lib/backlog_kit/response/raise_error.rb: -------------------------------------------------------------------------------- 1 | require 'backlog_kit/response/middleware' 2 | 3 | module BacklogKit 4 | class Response 5 | class RaiseError < BacklogKit::Response::Middleware 6 | CODE_ERRORS = { 7 | 1 => BacklogKit::InternalError, 8 | 2 => BacklogKit::LicenceError, 9 | 3 => BacklogKit::LicenceExpiredError, 10 | 4 => BacklogKit::AccessDeniedError, 11 | 5 => BacklogKit::UnauthorizedOperationError, 12 | 6 => BacklogKit::NoResourceError, 13 | 7 => BacklogKit::InvalidRequestError, 14 | 8 => BacklogKit::SpaceOverCapacityError, 15 | 9 => BacklogKit::ResourceOverflowError, 16 | 10 => BacklogKit::TooLargeFileError, 17 | 11 => BacklogKit::AuthenticationError 18 | }.freeze 19 | 20 | def on_complete(env) 21 | super 22 | raise BacklogKit::Error, error_message unless success? 23 | end 24 | 25 | private 26 | 27 | def success? 28 | no_content? || !json? || json_body.is_a?(Array) || json_body['errors'].nil? 29 | end 30 | 31 | def error_message 32 | messages = [] 33 | json_body['errors'].each.with_index(1) do |error, index| 34 | klass = CODE_ERRORS[error['code']] || BacklogKit::UnexpectedError 35 | messages.push(klass.build_error_message(error, index)) 36 | end 37 | messages.join(', ') 38 | end 39 | 40 | def json_body 41 | @json_body ||= JSON.parse(body) 42 | end 43 | end 44 | 45 | Faraday::Response.register_middleware(error: RaiseError) 46 | end 47 | end 48 | -------------------------------------------------------------------------------- /spec/cassettes/project/add_version_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/versions?apiKey=","body":{"encoding":"UTF-8","base64_string":"ZGVzY3JpcHRpb249JUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgz\nJTkwJUUzJTgzJUJDJUUzJTgyJUI4JUUzJTgzJUE3JUUzJTgzJUIzMiVFMyU4\nMSVBRSVFOCVBOSVCMyVFNyVCNCVCMCVFMyU4MSVBNyVFMyU4MSU5OSVFMyU4\nMCU4MiZuYW1lPSVFMyU4MyU4NiVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4MyU5\nMCVFMyU4MyVCQyVFMyU4MiVCOCVFMyU4MyVBNyVFMyU4MyVCMzImcmVsZWFz\nZUR1ZURhdGU9MjAxNS0wNS0zMSZzdGFydERhdGU9MjAxNS0wNS0wMQ==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:18:09 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["235"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzk2ODMsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjg5Djg7zjgrjjg6fjg7MyIiwiZGVzY3JpcHRpb24iOiLjg4bjgrnjg4jj\ng5Djg7zjgrjjg6fjg7My44Gu6Kmz57Sw44Gn44GZ44CCIiwic3RhcnREYXRl\nIjoiMjAxNS0wNS0wMVQwMDowMDowMFoiLCJyZWxlYXNlRHVlRGF0ZSI6IjIw\nMTUtMDUtMzFUMDA6MDA6MDBaIiwiYXJjaGl2ZWQiOmZhbHNlLCJkaXNwbGF5\nT3JkZXIiOi0xfQ==\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:18:09 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/team/create_team_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/teams?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODMlODElRTMl\nODMlQkMlRTMlODMlQTAx\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 24 Feb 2019 07:18:33 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Content-Type-Options":["nosniff"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["416"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTI1NjMsIm5hbWUiOiLjg4bjgrnjg4jjg4Hjg7zjg6AxIiwibWVt\nYmVycyI6W10sImRpc3BsYXlPcmRlciI6MjE0NzQ4MzY0NiwiY3JlYXRlZFVz\nZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2si\nLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNr\nQGV4YW1wbGUuY29tIiwibnVsYWJBY2NvdW50IjpudWxsfSwiY3JlYXRlZCI6\nIjIwMTktMDItMjRUMDc6MTg6MzNaIiwidXBkYXRlZFVzZXIiOnsiaWQiOjQ3\nODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6\nMSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29t\nIiwibnVsYWJBY2NvdW50IjpudWxsfSwidXBkYXRlZCI6IjIwMTktMDItMjRU\nMDc6MTg6MzNaIn0=\n"},"http_version":null},"recorded_at":"Sun, 24 Feb 2019 07:18:33 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/team/delete_team.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"delete","uri":"https://.backlog.jp/api/v2/teams/3758?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 24 Feb 2019 07:25:09 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Content-Type-Options":["nosniff"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["518"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6Mzc1OCwibmFtZSI6IuODgeODvOODoDIiLCJtZW1iZXJzIjpbeyJp\nZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVU\neXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBs\nZS5jb20iLCJudWxhYkFjY291bnQiOm51bGx9XSwiZGlzcGxheU9yZGVyIjot\nMSwiY3JlYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwi\nbmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFk\nZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29tIiwibnVsYWJBY2NvdW50IjpudWxs\nfSwiY3JlYXRlZCI6IjIwMTUtMDUtMTBUMDA6MzU6NTZaIiwidXBkYXRlZFVz\nZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2si\nLCJyb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNr\nQGV4YW1wbGUuY29tIiwibnVsYWJBY2NvdW50IjpudWxsfSwidXBkYXRlZCI6\nIjIwMTktMDItMjRUMDc6MTI6MThaIn0=\n"},"http_version":null},"recorded_at":"Sun, 24 Feb 2019 07:25:09 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/group/get_group.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/groups/3089?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:14:51 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["576"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MzA4OSwibmFtZSI6IuOCsOODq+ODvOODlzEiLCJtZW1iZXJzIjpb\neyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJv\nbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhh\nbXBsZS5jb20ifSx7ImlkIjo1NjUzNCwidXNlcklkIjoidGVzdF91c2VyXzEi\nLCJuYW1lIjoi44Om44O844K2MSIsInJvbGVUeXBlIjo2LCJsYW5nIjpudWxs\nLCJtYWlsQWRkcmVzcyI6InVzZXIxQGV4YW1wbGUuY29tIn1dLCJkaXNwbGF5\nT3JkZXIiOi0xLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6\nImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEi\nLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwiY3JlYXRlZCI6\nIjIwMTUtMDMtMTVUMTI6NTM6MzZaIiwidXBkYXRlZFVzZXIiOnsiaWQiOjQ3\nODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6\nMSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29t\nIn0sInVwZGF0ZWQiOiIyMDE1LTA1LTA5VDAwOjEwOjM4WiJ9\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:14:51 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/get_groups_given_no_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/groups?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:14:42 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["578"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMwODksIm5hbWUiOiLjgrDjg6vjg7zjg5cxIiwibWVtYmVycyI6\nW3siaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJy\nb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4\nYW1wbGUuY29tIn0seyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8x\nIiwibmFtZSI6IuODpuODvOOCtjEiLCJyb2xlVHlwZSI6NiwibGFuZyI6bnVs\nbCwibWFpbEFkZHJlc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9XSwiZGlzcGxh\neU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQi\nOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6Imph\nIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29tIn0sImNyZWF0ZWQi\nOiIyMDE1LTAzLTE1VDEyOjUzOjM2WiIsInVwZGF0ZWRVc2VyIjp7ImlkIjo0\nNzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUi\nOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNv\nbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQwMDoxMDozOFoifV0=\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:14:42 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/issue/add_comment_notification_given_notified_user_ids.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/issues/1188856/comments/5328861/notifications?apiKey=","body":{"encoding":"UTF-8","base64_string":"bm90aWZpZWRVc2VySWQlNUIlNUQ9NTY1MzQ=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sun, 10 May 2015 14:15:20 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["470"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6NTMyODg2MSwiY29udGVudCI6IuODhuOCueODiOOCs+ODoeODs+OD\niDQiLCJjaGFuZ2VMb2ciOltdLCJjcmVhdGVkVXNlciI6eyJpZCI6NDc4OTMs\nInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJs\nYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifSwi\nY3JlYXRlZCI6IjIwMTUtMDUtMTBUMTM6NTQ6MjZaIiwidXBkYXRlZCI6IjIw\nMTUtMDUtMTBUMTQ6MDk6MTNaIiwic3RhcnMiOltdLCJub3RpZmljYXRpb25z\nIjpbeyJpZCI6MzM0Mzc0MSwiYWxyZWFkeVJlYWQiOmZhbHNlLCJyZWFzb24i\nOjIsInVzZXIiOnsiaWQiOjU2NTM0LCJ1c2VySWQiOiJ0ZXN0X3VzZXJfMSIs\nIm5hbWUiOiLjg6bjg7zjgrYxIiwicm9sZVR5cGUiOjIsImxhbmciOm51bGws\nIm1haWxBZGRyZXNzIjoidXNlcjFAZXhhbXBsZS5jb20ifSwicmVzb3VyY2VB\nbHJlYWR5UmVhZCI6ZmFsc2V9XX0=\n"},"http_version":null},"recorded_at":"Sun, 10 May 2015 14:15:21 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/update_webhook_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks/106?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQTYlRTMl\nODIlQTclRTMlODMlOTYlRTMlODMlOTUlRTMlODMlODMlRTMlODIlQUYy\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:39:19 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["434"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTA2LCJuYW1lIjoi44OG44K544OI44Km44Kn44OW44OV44OD44Kv\nMiIsImRlc2NyaXB0aW9uIjoiIiwiaG9va1VybCI6Imh0dHBzOi8vZXhhbXBs\nZS5jb20iLCJhbGxFdmVudCI6ZmFsc2UsImFjdGl2aXR5VHlwZUlkcyI6WzEs\nMl0sImNyZWF0ZWQiOiIyMDE1LTA1LTEyVDEzOjM4OjE2WiIsImNyZWF0ZWRV\nc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNr\nIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1z\na0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0xMlQxMzozOTox\nOVoiLCJ1cGRhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2si\nLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWls\nQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:39:19 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/project/get_project_teams.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/projects/31581/teams?apiKey=","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json"],"Date":["Sun, 24 Feb 2019 12:54:33 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"X-Content-Type-Options":["nosniff"],"X-Xss-Protection":["1; mode=block"],"Content-Length":["538"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjEyNTYzLCJuYW1lIjoi44OG44K544OI44OB44O844OgMSIsIm1l\nbWJlcnMiOlt7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJl\nbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoi\nZW1za0BleGFtcGxlLmNvbSIsIm51bGFiQWNjb3VudCI6bnVsbH1dLCJkaXNw\nbGF5T3JkZXIiOjIxNDc0ODM2NDYsImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5\nMywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEs\nImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSIs\nIm51bGFiQWNjb3VudCI6bnVsbH0sImNyZWF0ZWQiOiIyMDE5LTAyLTI0VDA3\nOjE4OjMzWiIsInVwZGF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoi\nZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIs\nIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSIsIm51bGFiQWNjb3Vu\ndCI6bnVsbH0sInVwZGF0ZWQiOiIyMDE5LTAyLTI0VDEyOjUzOjQwWiJ9XQ==\n"},"http_version":null},"recorded_at":"Sun, 24 Feb 2019 12:54:33 GMT"}],"recorded_with":"VCR 4.0.0"} -------------------------------------------------------------------------------- /spec/cassettes/group/get_groups_given_invalid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/groups?apiKey=&test=test","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:14:48 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["578"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMwODksIm5hbWUiOiLjgrDjg6vjg7zjg5cxIiwibWVtYmVycyI6\nW3siaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJy\nb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4\nYW1wbGUuY29tIn0seyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8x\nIiwibmFtZSI6IuODpuODvOOCtjEiLCJyb2xlVHlwZSI6NiwibGFuZyI6bnVs\nbCwibWFpbEFkZHJlc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9XSwiZGlzcGxh\neU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQi\nOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6Imph\nIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29tIn0sImNyZWF0ZWQi\nOiIyMDE1LTAzLTE1VDEyOjUzOjM2WiIsInVwZGF0ZWRVc2VyIjp7ImlkIjo0\nNzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUi\nOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNv\nbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQwMDoxMDozOFoifV0=\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:14:48 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/cassettes/group/get_groups_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/groups?apiKey=&order=asc","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Sat, 09 May 2015 00:14:45 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["578"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"W3siaWQiOjMwODksIm5hbWUiOiLjgrDjg6vjg7zjg5cxIiwibWVtYmVycyI6\nW3siaWQiOjQ3ODkzLCJ1c2VySWQiOiJlbXNrIiwibmFtZSI6ImVtc2siLCJy\nb2xlVHlwZSI6MSwibGFuZyI6ImphIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4\nYW1wbGUuY29tIn0seyJpZCI6NTY1MzQsInVzZXJJZCI6InRlc3RfdXNlcl8x\nIiwibmFtZSI6IuODpuODvOOCtjEiLCJyb2xlVHlwZSI6NiwibGFuZyI6bnVs\nbCwibWFpbEFkZHJlc3MiOiJ1c2VyMUBleGFtcGxlLmNvbSJ9XSwiZGlzcGxh\neU9yZGVyIjotMSwiY3JlYXRlZFVzZXIiOnsiaWQiOjQ3ODkzLCJ1c2VySWQi\nOiJlbXNrIiwibmFtZSI6ImVtc2siLCJyb2xlVHlwZSI6MSwibGFuZyI6Imph\nIiwibWFpbEFkZHJlc3MiOiJlbXNrQGV4YW1wbGUuY29tIn0sImNyZWF0ZWQi\nOiIyMDE1LTAzLTE1VDEyOjUzOjM2WiIsInVwZGF0ZWRVc2VyIjp7ImlkIjo0\nNzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUi\nOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNv\nbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0wOVQwMDoxMDozOFoifV0=\n"},"http_version":null},"recorded_at":"Sat, 09 May 2015 00:14:45 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /lib/backlog_kit/client/star.rb: -------------------------------------------------------------------------------- 1 | module BacklogKit 2 | class Client 3 | # Methods for the Star API 4 | module Star 5 | # Add a star to an issue 6 | # 7 | # @param issue_id [Integer, String] Issue id 8 | # @return [BacklogKit::Response] No content response 9 | def add_issue_star(issue_id) 10 | post('stars', issue_id: issue_id) 11 | end 12 | 13 | # Add a star to an issue comment 14 | # 15 | # @param comment_id [Integer, String] Comment id 16 | # @return [BacklogKit::Response] No content response 17 | def add_issue_comment_star(comment_id) 18 | post('stars', comment_id: comment_id) 19 | end 20 | 21 | # Add a star to a wiki page 22 | # 23 | # @param wiki_id [Integer, String] Wiki page id 24 | # @return [BacklogKit::Response] No content response 25 | def add_wiki_star(wiki_id) 26 | post('stars', wiki_id: wiki_id) 27 | end 28 | 29 | # Add a star to a pull request 30 | # 31 | # @param pull_request_id [Integer, String] Pull request id 32 | # @return [BacklogKit::Response] No content response 33 | def add_pull_request_star(pull_request_id) 34 | post('stars', pull_request_id: pull_request_id) 35 | end 36 | 37 | # Add a star to a pull request comment 38 | # 39 | # @param pull_request_comment_id [Integer, String] Pull request comment id 40 | # @return [BacklogKit::Response] No content response 41 | def add_pull_request_comment_star(pull_request_comment_id) 42 | post('stars', pull_request_comment_id: pull_request_comment_id) 43 | end 44 | end 45 | end 46 | end 47 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require 'simplecov' 2 | SimpleCov.start do 3 | add_filter '/spec/' 4 | end 5 | 6 | $LOAD_PATH.unshift File.expand_path('../lib', __dir__) 7 | require 'backlog_kit' 8 | require 'webmock/rspec' 9 | require 'vcr' 10 | 11 | WebMock.disable_net_connect!(allow: 'coveralls.io') 12 | 13 | Dir['./spec/support/**/*.rb'].sort.each { |f| require f } 14 | 15 | RSpec.configure do |config| 16 | config.expect_with :rspec do |expectations| 17 | expectations.include_chain_clauses_in_custom_matcher_descriptions = true 18 | end 19 | 20 | config.mock_with :rspec do |mocks| 21 | mocks.verify_partial_doubles = true 22 | end 23 | 24 | config.before do 25 | stub_const('ENV', ENV.to_hash.merge('BACKLOG_SECOND_LEVEL_DOMAIN' => 'backlog')) 26 | stub_const('ENV', ENV.to_hash.merge('BACKLOG_TOP_LEVEL_DOMAIN' => 'jp')) 27 | end 28 | end 29 | 30 | VCR.configure do |c| 31 | c.default_cassette_options = { 32 | serialize_with: :json, 33 | preserve_exact_body_bytes: true 34 | } 35 | c.cassette_library_dir = 'spec/cassettes' 36 | c.hook_into :webmock 37 | c.configure_rspec_metadata! 38 | c.filter_sensitive_data('.') { "#{ENV['BACKLOG_SPACE_ID']}." } 39 | c.filter_sensitive_data('') { ENV['BACKLOG_API_KEY'] } 40 | c.filter_sensitive_data('') { ENV['BACKLOG_OAUTH_CLIENT_ID'] } 41 | c.filter_sensitive_data('') { ENV['BACKLOG_OAUTH_CLIENT_SECRET'] } 42 | c.filter_sensitive_data('') { ENV['BACKLOG_OAUTH_REFRESH_TOKEN'] } 43 | c.filter_sensitive_data('') { BacklogKit::Client::USER_AGENT } 44 | end 45 | -------------------------------------------------------------------------------- /spec/cassettes/git/get_git_repositories.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"get","uri":"https://.backlog.jp/api/v2/git/repositories?apiKey=&projectIdOrKey=TEST_PROJECT_1","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":[""],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Fri, 08 May 2015 16:02:11 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["548"],"Connection":["keep-alive"]},"body":{"encoding":"UTF-8","base64_string":"W3siaWQiOjEwNDM2LCJwcm9qZWN0SWQiOjMxMjI0LCJuYW1lIjoicmVwb3Nf\nMSIsImRlc2NyaXB0aW9uIjoiIiwiaG9va1VybCI6IiIsImh0dHBVcmwiOiJo\ndHRwczovLzxCQUNLTE9HX1NQQUNFX0lEPi5iYWNrbG9nLmpwL2dpdC9URVNU\nX1BST0pFQ1RfMS9yZXBvc18xLmdpdCIsInNzaFVybCI6ImVtc2tAPEJBQ0tM\nT0dfU1BBQ0VfSUQ+LmdpdC5iYWNrbG9nLmpwOi9URVNUX1BST0pFQ1RfMS9y\nZXBvc18xLmdpdCIsImRpc3BsYXlPcmRlciI6MjE0NzQ4MzY0NiwicHVzaGVk\nQXQiOm51bGwsImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoi\nZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIs\nIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9LCJjcmVhdGVkIjoi\nMjAxNS0wNS0wOFQxNjowMDowMVoiLCJ1cGRhdGVkVXNlciI6eyJpZCI6NDc4\nOTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjox\nLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20i\nfSwidXBkYXRlZCI6IjIwMTUtMDUtMDhUMTY6MDA6MDFaIn1d\n"},"http_version":null},"recorded_at":"Fri, 08 May 2015 16:02:12 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /spec/backlog_kit/response/middleware_spec.rb: -------------------------------------------------------------------------------- 1 | describe BacklogKit::Response::Middleware do 2 | describe '.new' do 3 | let(:middleware) { described_class.new } 4 | 5 | subject { middleware } 6 | 7 | it { is_expected.to respond_to(:headers) } 8 | it { is_expected.not_to respond_to(:headers=) } 9 | it { is_expected.to respond_to(:status) } 10 | it { is_expected.not_to respond_to(:status=) } 11 | it { is_expected.to respond_to(:body) } 12 | it { is_expected.not_to respond_to(:body=) } 13 | 14 | describe '#on_complete' do 15 | let(:env_mock) { instance_double('env') } 16 | let(:attributes) do 17 | [ 18 | { 'key1' => { 'key2' => 'value2' } }, 19 | { 'key3' => { 'key4' => 'value4' } }, 20 | 'value5' 21 | ] 22 | end 23 | let(:env_headers) { attributes } 24 | let(:env_status) { 200 } 25 | let(:env_body) { attributes } 26 | 27 | before do 28 | allow(env_mock).to receive(:response_headers).and_return(env_headers) 29 | allow(env_mock).to receive(:status).and_return(env_status) 30 | allow(env_mock).to receive(:body).and_return(env_body) 31 | middleware.on_complete(env_mock) 32 | end 33 | 34 | describe '#headers' do 35 | subject { middleware.headers } 36 | it { is_expected.to eq env_headers } 37 | end 38 | 39 | describe '#status' do 40 | subject { middleware.status } 41 | it { is_expected.to eq env_status } 42 | end 43 | 44 | describe '#body' do 45 | subject { middleware.body } 46 | it { is_expected.to eq env_body } 47 | end 48 | end 49 | end 50 | end 51 | -------------------------------------------------------------------------------- /spec/cassettes/wiki/update_wiki_given_name_only.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"patch","uri":"https://.backlog.jp/api/v2/wikis/80588?apiKey=","body":{"encoding":"UTF-8","base64_string":"bmFtZT0lNUIlRTMlODMlODYlRTMlODIlQjklRTMlODMlODglRTMlODIlQkYl\nRTMlODIlQjAyJTVEKyVFMyU4MyU4NiVFMyU4MiVCOSVFMyU4MyU4OCVFMyU4\nMiVBNiVFMyU4MiVBMyVFMyU4MiVBRDQ=\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Mon, 11 May 2015 14:37:39 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["497"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6ODA1ODgsInByb2plY3RJZCI6MzEyMjQsIm5hbWUiOiLjg4bjgrnj\ng4jjgqbjgqPjgq00IiwiY29udGVudCI6IuODhuOCueODiOOCpuOCo+OCrTHj\nga7lhoXlrrnjgafjgZnjgIIiLCJ0YWdzIjpbeyJpZCI6MzI4NSwibmFtZSI6\nIuODhuOCueODiOOCv+OCsDIifV0sImF0dGFjaG1lbnRzIjpbXSwic2hhcmVk\nRmlsZXMiOltdLCJzdGFycyI6W10sImNyZWF0ZWRVc2VyIjp7ImlkIjo0Nzg5\nMywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNrIiwicm9sZVR5cGUiOjEs\nImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1za0BleGFtcGxlLmNvbSJ9\nLCJjcmVhdGVkIjoiMjAxNS0wNS0xMVQxNDozNDoxNFoiLCJ1cGRhdGVkVXNl\nciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2siLCJuYW1lIjoiZW1zayIs\nInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWlsQWRkcmVzcyI6ImVtc2tA\nZXhhbXBsZS5jb20ifSwidXBkYXRlZCI6IjIwMTUtMDUtMTFUMTQ6Mzc6Mzla\nIn0=\n"},"http_version":null},"recorded_at":"Mon, 11 May 2015 14:37:39 GMT"}],"recorded_with":"VCR 2.9.3"} -------------------------------------------------------------------------------- /backlog_kit.gemspec: -------------------------------------------------------------------------------- 1 | lib = File.expand_path('lib', __dir__) 2 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 3 | require 'backlog_kit/version' 4 | 5 | Gem::Specification.new do |spec| 6 | spec.name = 'backlog_kit' 7 | spec.version = BacklogKit::VERSION 8 | spec.authors = ['emsk'] 9 | spec.email = ['emsk1987@gmail.com'] 10 | 11 | spec.summary = %q{Wrapper for the Backlog API v2.} 12 | spec.description = %q{Client library for the Nulab's Backlog API version 2 written in Ruby.} 13 | spec.homepage = 'https://github.com/emsk/backlog_kit' 14 | spec.license = 'MIT' 15 | 16 | spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } 17 | spec.bindir = 'exe' 18 | spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } 19 | spec.require_paths = ['lib'] 20 | 21 | spec.required_ruby_version = '>= 2.0.0' 22 | 23 | spec.add_runtime_dependency 'activesupport', '>= 4.2.7.1' 24 | spec.add_runtime_dependency 'faraday', '~> 0.15.4' 25 | spec.add_runtime_dependency 'faraday_middleware', '~> 0.13.1' 26 | spec.add_runtime_dependency 'addressable', '~> 2.7.0' 27 | spec.add_development_dependency 'bundler', '>= 1.16' 28 | spec.add_development_dependency 'multi_json', '~> 1.13' 29 | spec.add_development_dependency 'rake', '~> 12.3' 30 | spec.add_development_dependency 'redcarpet', '~> 3.4' 31 | spec.add_development_dependency 'rspec', '~> 3.8' 32 | spec.add_development_dependency 'rubocop', '~> 0.65.0' 33 | spec.add_development_dependency 'simplecov', '~> 0.16' 34 | spec.add_development_dependency 'vcr', '~> 4.0' 35 | spec.add_development_dependency 'webmock', '~> 3.5' 36 | spec.add_development_dependency 'yard', '~> 0.9.18' 37 | end 38 | -------------------------------------------------------------------------------- /spec/cassettes/project/add_webhook_given_valid_params.json: -------------------------------------------------------------------------------- 1 | {"http_interactions":[{"request":{"method":"post","uri":"https://.backlog.jp/api/v2/projects/31224/webhooks?apiKey=","body":{"encoding":"UTF-8","base64_string":"YWN0aXZpdHlUeXBlSWRzJTVCJTVEPTEmYWN0aXZpdHlUeXBlSWRzJTVCJTVE\nPTImYWxsRXZlbnQ9ZmFsc2UmaG9va1VybD1odHRwcyUzQSUyRiUyRmV4YW1w\nbGUuY29tJm5hbWU9JUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgy\nJUE2JUUzJTgyJUE3JUUzJTgzJTk2JUUzJTgzJTk1JUUzJTgzJTgzJUUzJTgy\nJUFGMQ==\n"},"headers":{"User-Agent":[""],"Content-Type":["application/x-www-form-urlencoded"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"Access-Control-Allow-Origin":["*"],"Content-Type":["application/json; charset=utf-8"],"Date":["Tue, 12 May 2015 13:38:15 GMT"],"P3p":["CP=\"IDC CUR ADM DEV PSA CONi OUR IND ONL UNI COM CNT STA LOC\""],"Server":["nginx"],"Strict-Transport-Security":["max-age=31536000"],"Content-Length":["434"],"Connection":["keep-alive"]},"body":{"encoding":"ASCII-8BIT","base64_string":"eyJpZCI6MTA2LCJuYW1lIjoi44OG44K544OI44Km44Kn44OW44OV44OD44Kv\nMSIsImRlc2NyaXB0aW9uIjoiIiwiaG9va1VybCI6Imh0dHBzOi8vZXhhbXBs\nZS5jb20iLCJhbGxFdmVudCI6ZmFsc2UsImFjdGl2aXR5VHlwZUlkcyI6WzEs\nMl0sImNyZWF0ZWQiOiIyMDE1LTA1LTEyVDEzOjM4OjE1WiIsImNyZWF0ZWRV\nc2VyIjp7ImlkIjo0Nzg5MywidXNlcklkIjoiZW1zayIsIm5hbWUiOiJlbXNr\nIiwicm9sZVR5cGUiOjEsImxhbmciOiJqYSIsIm1haWxBZGRyZXNzIjoiZW1z\na0BleGFtcGxlLmNvbSJ9LCJ1cGRhdGVkIjoiMjAxNS0wNS0xMlQxMzozODox\nNVoiLCJ1cGRhdGVkVXNlciI6eyJpZCI6NDc4OTMsInVzZXJJZCI6ImVtc2si\nLCJuYW1lIjoiZW1zayIsInJvbGVUeXBlIjoxLCJsYW5nIjoiamEiLCJtYWls\nQWRkcmVzcyI6ImVtc2tAZXhhbXBsZS5jb20ifX0=\n"},"http_version":null},"recorded_at":"Tue, 12 May 2015 13:38:15 GMT"}],"recorded_with":"VCR 2.9.3"} --------------------------------------------------------------------------------