From 9051162a938e088d071cd0b145e71cf9f5b685a1 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Thu, 14 Nov 2013 13:23:58 +0530 Subject: [PATCH 01/16] Create skydeskprojects --- docs/skydeskprojects | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docs/skydeskprojects diff --git a/docs/skydeskprojects b/docs/skydeskprojects new file mode 100644 index 000000000..56009edaf --- /dev/null +++ b/docs/skydeskprojects @@ -0,0 +1,19 @@ +SkyDesk Projects Requirements: + +Log into the SkyDesk portal first. +URL : https://www.skydesk.jp +Then access SkyDesk projects using https://projects.skydesk.jp. + +Project ID and Token is required for configuration which will be available under "Dashboard" --> "Project Settings" --> "Service Hooks". + +This service hook allows you to associate changeset(s) with bug(s) in SkyDesk Projects. To associate changeset(s) with bug(s) in SkyDeskProjects you will need to give the BUG ID in in your commit message. + +Syntax: `OPEN SQUARE BRACKET #BUGID CLOSE SQUARE BRACKET` followed by commit message + +Ex: `[#SDP-23] fixed the memory leak issue.` + +This will associate the changeset with bug with ID SDP-23. + +For more than one bugs, provide the BUG IDS separated by comma. + +Ex: `[#SDP-24,#SDP-25] UI alignment fix done.` From 1bd0b0f92b2b5bb788e8f9e5e1e3876c58da78e1 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Thu, 14 Nov 2013 13:26:56 +0530 Subject: [PATCH 02/16] Create skydeskprojects.rb --- lib/services/skydeskprojects.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/services/skydeskprojects.rb diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb new file mode 100644 index 000000000..6f4ec4b66 --- /dev/null +++ b/lib/services/skydeskprojects.rb @@ -0,0 +1,15 @@ +class Service::ZohoProjects < Service + string :project_id, :token + white_list :project_id + + def receive_push + res = http_post "https://projects.skydesk.jp/serviceHook", + :pId => data['project_id'], + :authtoken => data['token'], + :scope => "projectsapi", + :payload => generate_json(payload) + if res.status != 200 + raise_config_error + end + end +end From da73055928cfee5dd4a30aaad0ff58e5f028240a Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Thu, 14 Nov 2013 13:28:10 +0530 Subject: [PATCH 03/16] Create skydeskprojects_test .rb --- test/skydeskprojects_test .rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/skydeskprojects_test .rb diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test .rb new file mode 100644 index 000000000..d445894d1 --- /dev/null +++ b/test/skydeskprojects_test .rb @@ -0,0 +1,34 @@ +require File.expand_path('../helper', __FILE__) + +class SkyDeskProjectsTest < Service::TestCase + def setup + @stubs = Faraday::Adapter::Test::Stubs.new + end + + def data + { + "project_id" => "1234", + "token" => "a13d", + } + end + + def test_push + url = "/serviceHook" + @stubs.post url do |env| + assert_equal 'projects.skydesk.jp', env[:url].host + params = Faraday::Utils.parse_query env[:body] + assert_equal '1234', params['pId'] + assert_equal 'a13d', params['authtoken'] + assert_equal payload, JSON.parse(params['payload']) + [200, {}, ''] + end + + svc = service :push, data, payload + svc.receive + end + + def service(*args) + super Service::ZohoProjects, *args + end +end + From f41dc82eea6bda498d76020bdcaa77947f37755f Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Thu, 14 Nov 2013 13:35:38 +0530 Subject: [PATCH 04/16] Update skydeskprojects Steps to access SkyDesk Projects: 1)Create an account and login to the SkyDesk Portal using https://www.skydesk.jp 2)Then access https://projects.skydesk.jp as mentioned in the document. --- docs/skydeskprojects | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/skydeskprojects b/docs/skydeskprojects index 56009edaf..8ba3000b2 100644 --- a/docs/skydeskprojects +++ b/docs/skydeskprojects @@ -1,7 +1,7 @@ SkyDesk Projects Requirements: Log into the SkyDesk portal first. -URL : https://www.skydesk.jp +SkyDesk Portal URL : https://www.skydesk.jp Then access SkyDesk projects using https://projects.skydesk.jp. Project ID and Token is required for configuration which will be available under "Dashboard" --> "Project Settings" --> "Service Hooks". From 2bf4c0f4f89083af469c30e573a323cb04d84a13 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Tue, 19 Nov 2013 14:55:33 +0530 Subject: [PATCH 05/16] Update skydeskprojects.rb Added Raw payload changes . --- lib/services/skydeskprojects.rb | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index 6f4ec4b66..644578a64 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -1,15 +1,25 @@ -class Service::ZohoProjects < Service +class Service::ZohoProjects < Service::HttpPost string :project_id, :token + white_list :project_id - def receive_push - res = http_post "https://projects.skydesk.jp/serviceHook", - :pId => data['project_id'], + url "https://www.skydesk.jp" + logo_url "https://www.skydesk.jp/static/common/images/header/ci/ci_skydesk.gif" + + maintained_by :github => 'SkyDeskProjects' + + supported_by :web => 'www.skydesk.jp/en/contact/', + :email => 'support_projects@skydesk.jp' + + def receive_push + token = required_config_value('token') + + http.headers['Authorization'] = "Token #{token}" + + url = "https://projects.skydesk.jp/serviceHook", + :pId => data['project_id'], :authtoken => data['token'], - :scope => "projectsapi", - :payload => generate_json(payload) - if res.status != 200 - raise_config_error - end + :scope => "projectsapi" + deliver url end end From 5a6dacbe99ac3704106faa936dd7c0eb50a9407a Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Fri, 22 Nov 2013 14:42:58 +0530 Subject: [PATCH 06/16] Update skydeskprojects.rb Updated the Service name to SkyDeskProjects. --- lib/services/skydeskprojects.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index 644578a64..4e81d0054 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -1,4 +1,4 @@ -class Service::ZohoProjects < Service::HttpPost +class Service::SkyDeskProjects < Service::HttpPost string :project_id, :token white_list :project_id From 5fb6b988046aa5c99538e957e432efa73b22a370 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Mon, 25 Nov 2013 12:40:16 +0530 Subject: [PATCH 07/16] Update skydeskprojects_test .rb --- test/skydeskprojects_test .rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test .rb index d445894d1..2344bbd6f 100644 --- a/test/skydeskprojects_test .rb +++ b/test/skydeskprojects_test .rb @@ -28,7 +28,7 @@ def test_push end def service(*args) - super Service::ZohoProjects, *args + super Service::SkyDeskProjects, *args end end From 6dd41daea6196a13006d848b8f78185d79e0d766 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Mon, 2 Dec 2013 16:15:45 +0530 Subject: [PATCH 08/16] Update skydeskprojects.rb --- lib/services/skydeskprojects.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index 4e81d0054..ea670b7e2 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -17,6 +17,7 @@ def receive_push http.headers['Authorization'] = "Token #{token}" url = "https://projects.skydesk.jp/serviceHook", + :payload => generate_json(payload), :pId => data['project_id'], :authtoken => data['token'], :scope => "projectsapi" From b0a2f5b1820bda79bfca7e769fab9a5f60967102 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Wed, 4 Dec 2013 15:17:37 +0530 Subject: [PATCH 09/16] Update skydeskprojects_test .rb --- test/skydeskprojects_test .rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test .rb index 2344bbd6f..7cfc13f9c 100644 --- a/test/skydeskprojects_test .rb +++ b/test/skydeskprojects_test .rb @@ -16,7 +16,7 @@ def test_push url = "/serviceHook" @stubs.post url do |env| assert_equal 'projects.skydesk.jp', env[:url].host - params = Faraday::Utils.parse_query env[:body] + params = Faraday::Utils.parse_query(env[:body]) assert_equal '1234', params['pId'] assert_equal 'a13d', params['authtoken'] assert_equal payload, JSON.parse(params['payload']) From 91eff2247ff2a0d5b1dd649d6dbeefde31e1cf29 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Wed, 4 Dec 2013 15:19:39 +0530 Subject: [PATCH 10/16] Update skydeskprojects.rb --- lib/services/skydeskprojects.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index ea670b7e2..4e81d0054 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -17,7 +17,6 @@ def receive_push http.headers['Authorization'] = "Token #{token}" url = "https://projects.skydesk.jp/serviceHook", - :payload => generate_json(payload), :pId => data['project_id'], :authtoken => data['token'], :scope => "projectsapi" From 2dc6b98a5103340431b4da329b2a4e3f158e11ee Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Wed, 4 Dec 2013 15:20:15 +0530 Subject: [PATCH 11/16] Update skydeskprojects_test .rb --- test/skydeskprojects_test .rb | 1 - 1 file changed, 1 deletion(-) diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test .rb index 7cfc13f9c..a2d04ec79 100644 --- a/test/skydeskprojects_test .rb +++ b/test/skydeskprojects_test .rb @@ -19,7 +19,6 @@ def test_push params = Faraday::Utils.parse_query(env[:body]) assert_equal '1234', params['pId'] assert_equal 'a13d', params['authtoken'] - assert_equal payload, JSON.parse(params['payload']) [200, {}, ''] end From d65a927e431fe7586234decc03e52f0669ece533 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Mon, 9 Dec 2013 11:34:26 +0530 Subject: [PATCH 12/16] Update skydeskprojects.rb --- lib/services/skydeskprojects.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index 4e81d0054..e81978454 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -1,3 +1,4 @@ +# encoding: utf-8 class Service::SkyDeskProjects < Service::HttpPost string :project_id, :token @@ -13,13 +14,12 @@ class Service::SkyDeskProjects < Service::HttpPost def receive_push token = required_config_value('token') - - http.headers['Authorization'] = "Token #{token}" + pId = required_config_value('project_id') + body = {'pId'=>pId, 'authtoken'=>token,:scope => 'projectsapi' , 'payload'=>payload} + body = generate_json(body) + #http.headers['Authorization'] = "Token #{token}" - url = "https://projects.skydesk.jp/serviceHook", - :pId => data['project_id'], - :authtoken => data['token'], - :scope => "projectsapi" + url = "https://projects.skydesk.jp/serviceHook" deliver url end end From 893932b3e04769a248b4adfa0b6205b669e80fb4 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Mon, 9 Dec 2013 11:35:15 +0530 Subject: [PATCH 13/16] Update skydeskprojects_test .rb --- test/skydeskprojects_test .rb | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test .rb index a2d04ec79..1af3b4109 100644 --- a/test/skydeskprojects_test .rb +++ b/test/skydeskprojects_test .rb @@ -5,24 +5,22 @@ def setup @stubs = Faraday::Adapter::Test::Stubs.new end - def data - { + def test_push + url = "/serviceHook" + data = { "project_id" => "1234", "token" => "a13d", } - end - - def test_push - url = "/serviceHook" + svc = service(data, payload) @stubs.post url do |env| - assert_equal 'projects.skydesk.jp', env[:url].host + #assert_equal 'projects.skydesk.jp', env[:url].host params = Faraday::Utils.parse_query(env[:body]) assert_equal '1234', params['pId'] assert_equal 'a13d', params['authtoken'] + assert_equal payload, JSON.parse(params['payload']) [200, {}, ''] - end - svc = service :push, data, payload + end svc.receive end @@ -30,4 +28,3 @@ def service(*args) super Service::SkyDeskProjects, *args end end - From 08fdb98426992361cd04e635223ac396aaf86f59 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Tue, 10 Dec 2013 10:21:50 +0530 Subject: [PATCH 14/16] Rename skydeskprojects_test .rb to skydeskprojects_test.rb --- test/{skydeskprojects_test .rb => skydeskprojects_test.rb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/{skydeskprojects_test .rb => skydeskprojects_test.rb} (100%) diff --git a/test/skydeskprojects_test .rb b/test/skydeskprojects_test.rb similarity index 100% rename from test/skydeskprojects_test .rb rename to test/skydeskprojects_test.rb From 06623268cfe00536507f391d233990b048df4248 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Wed, 11 Dec 2013 10:58:21 +0530 Subject: [PATCH 15/16] Update skydeskprojects.rb --- lib/services/skydeskprojects.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/services/skydeskprojects.rb b/lib/services/skydeskprojects.rb index e81978454..6217d8280 100644 --- a/lib/services/skydeskprojects.rb +++ b/lib/services/skydeskprojects.rb @@ -15,11 +15,16 @@ class Service::SkyDeskProjects < Service::HttpPost def receive_push token = required_config_value('token') pId = required_config_value('project_id') - body = {'pId'=>pId, 'authtoken'=>token,:scope => 'projectsapi' , 'payload'=>payload} - body = generate_json(body) #http.headers['Authorization'] = "Token #{token}" - url = "https://projects.skydesk.jp/serviceHook" - deliver url + #url = "https://projects.skydesk.jp/serviceHook" + res = http_post "https://projects.skydesk.jp/serviceHook", + :pId => pId, + :authtoken => token, + :scope => "projectsapi", + :payload => generate_json(payload) + if res.status != 200 + raise_config_error + end end end From a579bb6be73d882807eb97f63d74b03cd07c59f9 Mon Sep 17 00:00:00 2001 From: SkyDeskProjects Date: Wed, 11 Dec 2013 10:59:10 +0530 Subject: [PATCH 16/16] Update skydeskprojects_test.rb --- test/skydeskprojects_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/skydeskprojects_test.rb b/test/skydeskprojects_test.rb index 1af3b4109..e1c171b52 100644 --- a/test/skydeskprojects_test.rb +++ b/test/skydeskprojects_test.rb @@ -13,7 +13,7 @@ def test_push } svc = service(data, payload) @stubs.post url do |env| - #assert_equal 'projects.skydesk.jp', env[:url].host + assert_equal 'projects.skydesk.jp', env[:url].host params = Faraday::Utils.parse_query(env[:body]) assert_equal '1234', params['pId'] assert_equal 'a13d', params['authtoken']