如何使用 Fastlane 向 Mattermost 写消息?
以下是我的试用版。我从这个链接中得到了最多。
还有什么问题? (当然,我用我在 Mattermost 中建立的实际值替换了MATTERMOST_WEBHOOK_URL
(。
在上面的链接中,我看到了一个包含mattermost.rb
文件的actions
文件夹
如何使此操作起作用?我需要在我的 Fastfile 或任何地方做什么才能让它工作?
事实上,跑fastlane send_message
车道,我得到了成功。但不幸的是,在我的 Mattermost 频道中看不到任何东西。
在我的快速文件中,我确实:
def send_message_to_mattermost(options)
unless ENV['MATTERMOST_WEBHOOK_URL'].nil? || ENV['MATTERMOST_WEBHOOK_URL'].empty?
mattermost(
pretext: options[:pretext],
message: options[:msg],
default_payloads: options[:default_payloads],
username: 'Fastlane',
icon_url: 'https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png',
payload: {},
attachment_properties: {
title: options[:title],
thumb_url: options[:thumb_url],
fields: [{
title: 'Version',
value: options[:version_number],
short: true
},
{
title: 'Build Number',
value: options[:build_number],
short: true
},
{
title: 'Built by',
value: 'Jenkins',
short: true
}]
},
success: options[:success]
)
end
end
我的快车道看起来像这样:
lane :send_message do
send_message_to_mattermost({
:version_number => ENV['VERSION_NUMBER'],
:build_number => ENV["BUILD_NUMBER"],
:pretext => ENV['MAIN_APP_IDENTIFIER'],
:title => 'Unsuccessful Build',
:thumb_url => 'https://support.apple.com/library/content/dam/edam/applecare/images/en_US/iOS/move-to-ios-icon.png',
:msg => "My message...",
:default_payloads => [:lane],
:success => true
})
end
mattermost(...)
是快车道中的标准命令吗?如果没有,我需要做什么才能从 Fastlane 向 Mattermost 渠道发送信息?
我终于找到了解决方案。
缺少的是预先设置 ENV["MATTERMOST_WEBHOOK_URL"]
before_all do
ENV["MATTERMOST_WEBHOOK_URL"] = 'https://my_new_webooh_from_mattermost'
end
。并保持以下代码不变(即不要用其他任何东西替换"MATTERMOST_WEBHOOK_URL"-before_all
可以解决问题...
def send_message_to_mattermost(options)
unless ENV['MATTERMOST_WEBHOOK_URL'].nil? || ENV['MATTERMOST_WEBHOOK_URL'].empty?
mattermost(
pretext: options[:pretext],
message: options[:msg],
default_payloads: options[:default_payloads],
username: 'Fastlane',
icon_url: 'https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png',
payload: {},
attachment_properties: {
title: options[:title],
thumb_url: options[:thumb_url],
fields: [{
title: 'Version',
value: options[:version_number],
short: true
},
{
title: 'Build Number',
value: options[:build_number],
short: true
},
{
title: 'Built by',
value: 'Jenkins',
short: true
}]
},
success: options[:success]
)
end
end