簡體   English   中英

想解析多個key=value字符串為Map然后序列化但是map到字符串序列化失敗

[英]Want to parse multiple key=value string to Map and then serialize it but map to string serialization fails

我正在轉換鍵=值字符串 Groovy Map。然后在進行一些更改后,返回序列化 object。示例字符串 --> dlpxDcTags = "OWNER=test,PROJECT=test2,COSTCENTER=1234,TEAM=devops"

parseDcenterTags(dlpxDcTags){
  Map tags = [:]
  tags += dlpxDcTags.replaceAll('\\[|\\]', '').split(',').collectEntries { entry ->
    def pair = entry.split('=')
    [(pair.first().trim()): pair.last().trim()]
    return tags
  }
}

def createDcenterTags(dlpxDcTags=null) {
  // Values passed from the environment of the user takes precedence
  tags = parseDcenterTags(dlpxDcTags)
  if (tags) {
    if (!(tags.get('PROJECT'))) {
        tags['PROJECT'] = env.JOB_NAME
      }

    if (!tags.get('OWNER')) {
      // not supplied via dlpxDcTags
      tags['OWNER'] = env.BUILD_USER_EMAIL
      }
    }
  else {
    tags['PROJECT'] = env.JOB_NAME
    tags['OWNER'] = env.BUILD_USER_EMAIL
  }
  return serializeDcenterTags(tags)
 }

def serializeDcenterTags(tags){
  dlpxDcTags = {
    tags.collect { /$tags.key="$tags.value"/ } join ","
  }
  return dlpxDcTags
}

面臨的問題:

  • 使用此幫助程序腳本從主要 jenkins 作業調用時,變量正在獲取值“org.jenkinsci.plugins.workflow.cps.CpsClosure2@64ed2e4b”

在大量閱讀和嘗試不同的方法之后,對我有用的非常簡單的事情是用相同的方法進行序列化,而不是從另一個方法定義和調用它。

暫無
暫無

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

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