簡體   English   中英

檢查日期是否匹配,然后在 groovy 中向 stringbuilder 發送 yes

[英]Check date if matching then send yes to stringbuilder in groovy

我正在嘗試為今天的部署發送時間表,因此我正在嘗試比較日期,如果日期匹配,那么它應該“是”給 stringbuilder,如果它不匹配,那么它應該分別向 stringbuilder 發送“否”。 為此,同樣為 Jenkins 編寫了 groovy 腳本-

                    echo "FIT2 Deployment started"
                    if(runConfig.FIT2Deploy){
                        FIT2Deploy = sb.append(padToLength('FIT2', 15)).append('|')
                    }
            }
            stage('Log Intent') {
              echo runConfig.stringify()
            } 

           String makeMarkFor(boolean bool) {
              return (bool ? "Yes" : "No")
           }
           class RunConfig implements Serializable {

    String padToLength(String initialValue, int length) {
        String tmpVal = initialValue
        while (tmpVal.length() < length) {
            tmpVal = tmpVal + " "
        }
        return tmpVal
    }

    String centerPadToLength(String initialValue, int length) {
        String tmpVal = initialValue
        boolean atFront = false
        while (tmpVal.length() < length) {
            if (atFront) {
                tmpVal = " " + tmpVal
            } else {
                tmpVal = tmpVal + " "
            }
            atFront = !atFront
        }
    }

    String stringify() {
        def sb = StringBuilder.newInstance()
        sb.append('The following is the schedule for today ').append('|')
        sb.append('\n================================\n')
        sb.append(padToLength('Environment', 15)).append('|')
        sb.append(padToLength(' Deploy', 8))
        sb.append('\n--------------------------------\n')

        //sb.append(padToLength('FIT2', 15)).append('|')
        sb.append(centerPadToLength(makeMarkFor(FIT2Deploy), 8))
        sb.toString() 
        }
}

它不起作用有人可以幫助我嗎? 我期待輸出- 在此處輸入圖片說明

您可以將padToLength('Environment', 15)更改為'Environment'.padRight(15)並擺脫您的padToLength方法

您可以將centerPadToLength(makeMarkFor(FIT2Deploy), 8)更改為makeMarkFor(FIT2Deploy).center(8)並擺脫您的centerPadToLength方法

然后查看您的代碼,您可能需要makeMarkFor(runConfig.FIT2Deploy).center(8) ,但很難說,因為邏輯有點復雜,在不同的上下文中使用相同的變量名

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM