希望更多地了解Groovy。该代码的作用是什么?

时间:2019-05-16 06:26:35

标签: jenkins-groovy

我的任务是编写如下类似的代码。但是,我没有骨灰级的编程背景,并且使用过某些Python。希望了解该代码块的含义和作用。

def pull(Map arguments) {
  def url = "https://XXXX/${arguments.repo}/${arguments.source}"
  def flags = [:]
  if (arguments.apiKey || env.API_KEY) { flags['x-api-key'] = arguments.apiKey ?: env.API_KEY }
  flags = flags.collect { key, value -> "-H '${key}: ${value}'" }.join(' ')
  return sh(script: "${env.CURL_BIN ?: '/usr/bin/curl'} -Lf -o ${arguments.destination} ${flags} ${url}", returnStatus: true) == 0
}

def push(Map arguments) {
  def url = "XXXX${arguments.repo}/${arguments.destination}"
  def flags = [:]
  if (arguments.apiKey || env.API_KEY) { flags['x-api-key'] = arguments.apiKey ?: env.API_KEY }
  flags = flags.collect { key, value -> "-H '${key}: ${value}'" }.join(' ')
  return sh(script: "${env.CURL_BIN ?: '/usr/bin/curl'} -Lf ${flags} -T ${arguments.source} ${url}", returnStatus: true) == 0
}

def exists(Map arguments) {
  def url = "https://XXXX/${arguments.repo}/${arguments.file}"
  def flags = [:]
  if (arguments.apiKey || env.API_KEY) { flags['x-api-key'] = arguments.apiKey ?: env.API_KEY }
  flags = flags.collect { key, value -> "-H '${key}: ${value}'" }.join(' ')
  return sh(script: "${env.CURL_BIN ?: '/usr/bin/curl'} -Lf -I ${flags} ${url}", returnStatus: true) == 0
}

0 个答案:

没有答案