fir-cli 2.0.8 → 2.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -2
- data/fir-cli.gemspec +1 -0
- data/lib/fir/cli.rb +5 -0
- data/lib/fir/util/app_uploader.rb +10 -3
- data/lib/fir/util/publish.rb +21 -0
- data/lib/fir/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdd7fc7cd378d98beff907cd71e92b014c8f2123088fbd15d092694040513d23
|
4
|
+
data.tar.gz: e589b79ef22e771c660af8ec3f1eadd47aff73bf67247e296f8dc1f820588b2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea1824c70e3ba0aa2e25ffcf9f803b93e804efc66d8da142cce125bebb0b03084470e355f2b78e6e7629fc5366b9fec2c543518eafcd67e973ffe5b9354f16a9
|
7
|
+
data.tar.gz: affbceef191ddbe5afc05fa22040c0f8d249183eee92e68644fa2ab43107e890c43df409b030df047646ff78f5fc9e28686d54a22157333a0daf6b0e7142c2fe
|
data/README.md
CHANGED
@@ -18,7 +18,8 @@ fir.im-cli 可以通过指令查看, 上传, iOS/Android 应用.
|
|
18
18
|
当然还有种解决办法是 更新 `fir-cli` 至 `2.0.5`, 这个版本换到了备用域名
|
19
19
|
|
20
20
|
# 最近更新
|
21
|
-
- (2.0.
|
21
|
+
- (2.0.9) publish 支持了 企业微信通知 可以使用 --wxwork_access_token 或 --wxwork_webhook, 增加了回调超时时间至20秒
|
22
|
+
- (2.0.8) publish 支持 飞书通知, 可使用 `feishu_access_token` 和 `feishu_custom_message`, 详情见 `fir publish --help`
|
22
23
|
- (2.0.7) 修复了提示 token 错误的问题
|
23
24
|
- (2.0.6) 修复了因为文件读取方式变化而导致的文件找不到不报错的问题
|
24
25
|
- (2.0.5) 因为深信服 的黑名单误判, 将 api 切换到了备用域名
|
@@ -141,7 +142,7 @@ docker run -e API_TOKEN=您的token -v 您的上传文件的目录的绝对路
|
|
141
142
|
## 特别感谢
|
142
143
|
|
143
144
|
- 感谢 sparkrico 提供修正的 https://github.com/sparkrico/ruby_apk 解决了 android 解析的问题
|
144
|
-
|
145
|
+
- 感谢 fabcz 同学对企业微信的通知的支持 https://github.com/FIRHQ/fir-cli/pull/277
|
145
146
|
|
146
147
|
## 鼓励维护
|
147
148
|
|
data/fir-cli.gemspec
CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
/_/ /___/_/ |_| \____/_____/___/
|
28
28
|
|
29
29
|
## 更新记录
|
30
|
+
- (2.0.9) publish 支持了 企业微信通知 可以使用 --wxwork_access_token 或 --wxwork_webhook, 增加了回调超时时间至20秒
|
30
31
|
- (2.0.8) publish 支持 飞书通知, 可使用 `feishu_access_token` 和 `feishu_custom_message`, 详情见 `fir publish --help`
|
31
32
|
- (2.0.7) 修复了提示 token 有问题的错误
|
32
33
|
- (2.0.6) 将校验文件是否存在提前
|
data/lib/fir/cli.rb
CHANGED
@@ -130,6 +130,11 @@ module FIR
|
|
130
130
|
method_option :feishu_access_token, type: :string, desc: 'Send msg to feishu, need access_token, not whole url'
|
131
131
|
method_option :feishu_custom_message, type: :string, desc: 'add custom message to feishu'
|
132
132
|
|
133
|
+
method_option :wxwork_webhook, type: :string, desc: 'wxwork webhook url (optional)'
|
134
|
+
method_option :wxwork_access_token, type: :string, desc: 'Send msg to wxwork group, need group bot webhook, not whole url'
|
135
|
+
method_option :wxwork_custom_message, type: :string, desc: 'add custom message to wxwork group'
|
136
|
+
method_option :wxwork_pic_url, type: :string, desc: 'message background image, best size is 1068x455'
|
137
|
+
|
133
138
|
method_option :open, type: :boolean, desc: 'true/false if open for everyone'
|
134
139
|
method_option :password, type: :string, desc: 'Set password for app'
|
135
140
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module FIR
|
2
4
|
class AppUploader
|
3
5
|
include ApiTools::DefaultRestModule
|
@@ -14,6 +16,8 @@ module FIR
|
|
14
16
|
def upload
|
15
17
|
upload_icon
|
16
18
|
binary_callback_info = upload_binary
|
19
|
+
raise binary_callback_info if binary_callback_info.is_a? StandardError
|
20
|
+
|
17
21
|
# 将 binary 的callback信息返回
|
18
22
|
binary_callback_info
|
19
23
|
end
|
@@ -21,9 +25,12 @@ module FIR
|
|
21
25
|
protected
|
22
26
|
|
23
27
|
def callback_to_api(callback_url, callback_binary_information)
|
28
|
+
logger.debug 'begin to callback api'
|
24
29
|
return if callback_binary_information.blank?
|
25
30
|
|
26
|
-
post callback_url, callback_binary_information
|
31
|
+
answer = post callback_url, callback_binary_information, timeout: 20
|
32
|
+
logger.debug 'callback api finished'
|
33
|
+
answer
|
27
34
|
end
|
28
35
|
|
29
36
|
def icon_file_path
|
@@ -74,6 +81,7 @@ module FIR
|
|
74
81
|
|
75
82
|
def callback_icon_information
|
76
83
|
return {} if icon_file_path.nil?
|
84
|
+
|
77
85
|
{
|
78
86
|
key: icon_cert[:key],
|
79
87
|
token: icon_cert[:token],
|
@@ -106,6 +114,5 @@ module FIR
|
|
106
114
|
def logger
|
107
115
|
FIR.logger
|
108
116
|
end
|
109
|
-
|
110
117
|
end
|
111
|
-
end
|
118
|
+
end
|
data/lib/fir/util/publish.rb
CHANGED
@@ -28,6 +28,7 @@ module FIR
|
|
28
28
|
|
29
29
|
dingtalk_notifier(download_url, qrcode_path)
|
30
30
|
feishu_notifier(download_url)
|
31
|
+
wxwork_notifier(download_url)
|
31
32
|
|
32
33
|
upload_mapping_file_with_publish
|
33
34
|
|
@@ -226,6 +227,26 @@ module FIR
|
|
226
227
|
DefaultRest.post(url, payload)
|
227
228
|
end
|
228
229
|
|
230
|
+
def wxwork_notifier(download_url)
|
231
|
+
webhook_url = options[:wxwork_webhook]
|
232
|
+
webhook_url ||= "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=#{options[:wxwork_access_token]}"
|
233
|
+
return if webhook_url.blank?
|
234
|
+
|
235
|
+
title = "#{@app_info[:name]}-#{@app_info[:version]}(Build #{@app_info[:build]})"
|
236
|
+
payload = {
|
237
|
+
"msgtype": "news",
|
238
|
+
"news": {
|
239
|
+
"articles": [{
|
240
|
+
"title": "#{title} uploaded",
|
241
|
+
"description": "#{title} uploaded at #{Time.now}\nurl: #{download_url}\n#{options[:wxwork_custom_message]}\n",
|
242
|
+
"url": download_url,
|
243
|
+
"picurl": options[:wxwork_pic_url]
|
244
|
+
}],
|
245
|
+
},
|
246
|
+
}
|
247
|
+
DefaultRest.post(webhook_url, payload)
|
248
|
+
end
|
249
|
+
|
229
250
|
def initialize_publish_options(args, options)
|
230
251
|
@options = options
|
231
252
|
@file_path = File.absolute_path(args.first.to_s)
|
data/lib/fir/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fir-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NaixSpirit
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-03-
|
12
|
+
date: 2020-03-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -254,7 +254,8 @@ metadata: {}
|
|
254
254
|
post_install_message: "\n ______________ ________ ____\n /
|
255
255
|
____/ _/ __ \\ / ____/ / / _/\n / /_ / // /_/ /_____/ / / / /
|
256
256
|
/\n / __/ _/ // _, _/_____/ /___/ /____/ /\n /_/ /___/_/ |_| \\____/_____/___/\n\n
|
257
|
-
\ ## 更新记录\n - (2.0.
|
257
|
+
\ ## 更新记录\n - (2.0.9) publish 支持了 企业微信通知 可以使用 --wxwork_access_token 或 --wxwork_webhook,
|
258
|
+
增加了回调超时时间至20秒\n - (2.0.8) publish 支持 飞书通知, 可使用 `feishu_access_token` 和 `feishu_custom_message`,
|
258
259
|
详情见 `fir publish --help`\n - (2.0.7) 修复了提示 token 有问题的错误\n - (2.0.6) 将校验文件是否存在提前\n
|
259
260
|
\ - (2.0.5) 更换了上传域名, 避免与 深信服的设备冲突\n - (2.0.4) 修复了 cdn 不支持 patch 方法透传, 导致在修改 app
|
260
261
|
信息的时候返回的 400 错误\n - (2.0.3) 增加 dingtalk_at_phones, 钉钉通知可 at 用户手机号, 以逗号,分割. 此命令需配合
|