fir-cli 2.0.8 → 2.0.9
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 +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 用户手机号, 以逗号,分割. 此命令需配合
|