fastlane-plugin-trello 1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c1741f57a456200ab53a3c50639f7edde503aca
|
4
|
+
data.tar.gz: d6dbbdaa5a976c968f3f4f9abe8c979b678c9a6e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e59b82e6ac32160056e004cf062cc2037a510b33af577aa653f5c0ebeee26c13661610d2abd929187e13dab3bd22c7fe74157417597568b60799e060fd4aa14
|
7
|
+
data.tar.gz: 1753d01098437cef8a709a471c3c4a8ccb76de0e49cfa48130cfdc839de5b0b77cc798dcba88fb952a75f9843b5ed7bd78792e11240fa1274ca4fb77b8a39fe0
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require 'uri'
|
3
|
+
require 'net/http'
|
4
|
+
require 'json'
|
5
|
+
require_relative '../helper/trello_helper'
|
6
|
+
|
7
|
+
module Fastlane
|
8
|
+
module Actions
|
9
|
+
class TrelloComment < Action
|
10
|
+
|
11
|
+
@base_path = "https://api.trello.com/1"
|
12
|
+
@base_url = URI(@base_path)
|
13
|
+
@http = Net::HTTP.new(@base_url.host, @base_url.port)
|
14
|
+
@http.use_ssl = true
|
15
|
+
@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
16
|
+
|
17
|
+
def self.run(params)
|
18
|
+
|
19
|
+
@key = params[:api_key]
|
20
|
+
@token = params[:api_token]
|
21
|
+
@board_id = params[:board_id]
|
22
|
+
card_number = params[:card_number]
|
23
|
+
comment_text = params[:text]
|
24
|
+
|
25
|
+
UI.message("Fetching Trello card [##{card_number}]...")
|
26
|
+
card = find_card_by(short_id: card_number)
|
27
|
+
unless card
|
28
|
+
UI.error("Card #{card_number} not found.")
|
29
|
+
return
|
30
|
+
end
|
31
|
+
card_name = card["name"]
|
32
|
+
|
33
|
+
UI.message("Adding comment '#{comment_text}' to card [##{card_number}] '#{card_name}'")
|
34
|
+
add_comment(card_id: card["id"], text: comment_text)
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.find_card_by(short_id:)
|
38
|
+
url = URI("#{@base_path}/boards/#{@board_id}/cards/#{short_id}?fields=id%2Cname&key=#{@key}&token=#{@token}")
|
39
|
+
request = Net::HTTP::Get.new(url)
|
40
|
+
response = @http.request(request)
|
41
|
+
card = JSON.parse(response.body)
|
42
|
+
return card
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.add_comment(card_id:, text:)
|
46
|
+
url = URI("#{@base_path}/cards/#{card_id}/actions/comments?text=#{text}&key=#{@key}&token=#{@token}")
|
47
|
+
request = Net::HTTP::Put.new(url)
|
48
|
+
response = @http.request(request)
|
49
|
+
card = JSON.parse(response.body)
|
50
|
+
return card
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.description
|
54
|
+
"Trello plugin for Fastlane"
|
55
|
+
end
|
56
|
+
|
57
|
+
def self.authors
|
58
|
+
["Oscar De Moya"]
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.return_value
|
62
|
+
# If your method provides a return value, you can describe here what it does
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.details
|
66
|
+
"Plugin for moving a trello card to a given list"
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.available_options
|
70
|
+
[
|
71
|
+
FastlaneCore::ConfigItem.new(key: :api_key,
|
72
|
+
env_name: "TRELLO_API_KEY",
|
73
|
+
description: "Trello API Key (get one at: https://trello.com/app-key)",
|
74
|
+
optional: false,
|
75
|
+
type: String),
|
76
|
+
FastlaneCore::ConfigItem.new(key: :api_token,
|
77
|
+
env_name: "TRELLO_API_TOKEN",
|
78
|
+
description: "Trello API Token (get one at: https://trello.com/app-key)",
|
79
|
+
optional: false,
|
80
|
+
type: String),
|
81
|
+
FastlaneCore::ConfigItem.new(key: :board_id,
|
82
|
+
env_name: "TRELLO_BOARD_ID",
|
83
|
+
description: "The ID of the Trello board. You can find it in the trello board URL",
|
84
|
+
optional: false,
|
85
|
+
type: String),
|
86
|
+
FastlaneCore::ConfigItem.new(key: :text,
|
87
|
+
env_name: "TRELLO_COMMENT_TEXT",
|
88
|
+
description: "The text of the comment to add to the card",
|
89
|
+
optional: false,
|
90
|
+
type: String),
|
91
|
+
FastlaneCore::ConfigItem.new(key: :card_number,
|
92
|
+
env_name: "TRELLO_CARD_NUMBER",
|
93
|
+
description: "The number of the card to be moved the given list",
|
94
|
+
optional: false,
|
95
|
+
type: Integer)
|
96
|
+
]
|
97
|
+
end
|
98
|
+
|
99
|
+
def self.is_supported?(platform)
|
100
|
+
true
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-trello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar De Moya
|
@@ -146,6 +146,7 @@ files:
|
|
146
146
|
- README.md
|
147
147
|
- lib/fastlane/plugin/trello.rb
|
148
148
|
- lib/fastlane/plugin/trello/actions/trello_action.rb
|
149
|
+
- lib/fastlane/plugin/trello/actions/trello_comment.rb
|
149
150
|
- lib/fastlane/plugin/trello/helper/trello_helper.rb
|
150
151
|
- lib/fastlane/plugin/trello/version.rb
|
151
152
|
homepage: https://github.com/oscardemoya/fastlane-plugin-trello
|