2017-02-09 90 views
0

对不起,这样的新手问题,但我很困惑如何编写一个Fastlane脚本使用提供的方法之外。Fastlane脚本中的自定义变量

什么我希望做的是创建一个名为message变量,可以传递给after_all功能,所以当我张贴到懈怠,每个通道可以有它自己的自定义消息:

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脚本中的命令行的变量

+1

您可以使用'='运算符设置一个变量,就像您在第4行中一样。局部变量仅存在于其创建的范围内。我对Fastlane一无所知,但假设在传递给'after_all'之前调用传递给'lane'的块,然后将第一行更改为'message = nil'(以便该变量存在于第一个块的作用域之外)可能工作。 –

+1

如果你不知道如何使用Ruby,一个好的开始将是阅读一些文档,也许从[本教程]开始(https://www.ruby-lang.org/en/documentation/quickstart/) )。 –

+0

@Jordan - 工作。我想我只需要首先初始化它。昨晚我读的教程在这方面没有帮助;我会看看你发布的内容! – EHorodyski

回答

1

您可以使用=运算符设置变量,就像您在第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 
2

另外,您也可以做如下:

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

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

完美的作品,但那里发生了什么?你可以解释一下,不是红宝石大家伙。 – Dren

+0

回答我自己,它只是伊娃:) – Dren