jenkins pipline脚本 获取git分支

必须先禁用脚本安全性,参考文章: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

执行有输出分支,就表示成功了

相关推荐
柒和远方24 分钟前
V053: 从 Git 回退到 AI 工程治理:Vibe Coding 的 Harness 工作流与质量阀门
git·vibecoding
运维大师2 小时前
【K8S 运维实战】15-链路追踪Jaeger与OTel
运维·容器·kubernetes
炸膛坦客2 小时前
Git 和 GitHub:(五)一文给出常用 Git 命令,持续更新中......
git·github
霁月的小屋3 小时前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
Android系统攻城狮3 小时前
Linux PipeWire深度解析之pw_context_add_spa_lib调用流程与实战(二十九)
linux·运维·服务器·音频进阶·pipewire音频进阶
Hacker_xingchen3 小时前
手把手教你配置Jenkins自动化邮件通知
自动化测试·软件测试·servlet·自动化·jenkins
Dovis(誓平步青云)3 小时前
《如何在CentOS 7中添加Plex官方软件源:解决文件磁盘难管理难题》
linux·运维·服务器·后端·生成对抗网络·centos
草莓熊Lotso3 小时前
【Linux网络】深入理解Linux IO多路复用:select服务器完善、内核原理与poll实战
linux·运维·服务器·c语言·网络·c++
深念Y3 小时前
MSYS2 是什么,要不要装?
运维·环境·开发·工具·msys2
网安老伯4 小时前
网络安全基础要点知识介绍(非常详细),零基础入门到精通,看这一篇就够了
运维·前端·网络协议·web安全·网络安全·职场和发展