Fastlane 脚本中的自定义变量

Custom Variable in Fastlane Script

很抱歉提出这样一个新手问题,但我对如何在使用提供的方法之外编写 Fastlane 脚本感到非常困惑。

我要做的是创建一个名为 message 的变量,它可以传递给 after_all 函数,所以当我 post 到 Slack 时,每个通道都可以有自己的自定义消息:

put message # is this how to set a variable?
lane :alpha do
    # This is what I'd like to do
    message = "[Google Play] Alpha Channel Deployed"
end

after_all |lane, options| do
    slack(message: message)
end

谁能指出我正确的方向?我完全不知道如何在 Fastfile 脚本中创建和传递不是来自命令行的变量

您使用 = 运算符设置变量,就像您在第 4 行中所做的那样。局部变量仅存在于创建它的范围内。假设传递给 lane 的块在块传递给 after_all 之前被调用,那么将第一行更改为 message = nil(以便变量存在于第一个块的范围之外)应该有效:

message = nil

lane :alpha do
  message = "[Google Play] Alpha Channel Deployed"
end

after_all |lane, options| do
  slack(message: message)
end

或者您也可以执行以下操作:

lane :alpha do
  @message = "[Google Play] Alpha Channel Deployed"
end

after_all |lane, options| do
  slack(message: @message)
end

从 Fastlane 2.69 开始,您现在可以使用 swift 创建 fastfile! 参考:https://github.com/fastlane/fastlane/releases/tag/2.69.0