jenkins pipline指令碼 獲取git分支

肖祥發表於2024-08-18

必須先禁用指令碼安全性,參考文章:https://www.cnblogs.com/xiao987334176/p/18365397

點選Manage Jenkins-->Script Console

輸入以下指令碼:

// 定義Git命令
def cmd = "git ls-remote --heads https://oauth2:xxxxxx@xx.gitlab.com/xx.git"
  
// 執行命令並獲取輸出
def proc = cmd.execute()
proc.waitFor() // 等待命令執行完成
  
// 從執行結果中獲取標準輸出文字
def text = proc.text
//println text
  
// 將輸出文字按行分割,並提取分支名
def branches = text.readLines().collect { line ->
  //println line
  def parts = line.tokenize("\t")
  //println parts
  def branch = parts.last().replaceAll("refs/heads/", "")
  //println branch
}
  
// 輸出分支列表
//println branches
  
// 如果需要轉換為List資料結構,可以使用toList()方法
def branchList = branches.toList()
  
// 輸出List
println branchList

注意:oauth2是固定的,後面的xxxx是授權的token

執行有輸出分支,就表示成功了

相關文章