2017-02-09 119 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