成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Python3使用 GitLab API 進行批量合并分支

瀏覽:6日期:2022-07-08 10:39:12

Python3使用 GitLab API 進行批量合并分支

文章前言

每周五上午十二點前需要將項目上各組開發分支合并軟集倉庫分支, 需要在十個項目上進行 merge

程序員一般都是 很討厭麻煩, 所以編寫此腳本進行 批量 merge, 統一進行合并

另外, 如果項目經歷上線或者修復 bug 等情況, 需要合并分支至 uat、release、master 等分支, 也是能夠滿足此腳本使用情況

類似于這種功能性腳本, 一般習慣使用 Python 來編寫, 通過 GitLab 提供的 REST API 進行調用

GitLab 提供了非常豐富的 REST API 操作, 大家可以搜索官方網址查看

腳本思路

參考了網上大家提供的一部分腳本, 結合項目本身提供了此思路

在 GitLab 中獲取個人令牌 Token 獲取需要合并的項目 ID 獲取需要合并項目的來源分支以及目標分支 驗證 GitLab 對應的 Token 是否正確 進行合并請求, 失敗會刪除對應的合并請求

在網上找到的大部分執行不成功, 可能在之前是可以成功的, 但是隨著 GitLab 的 API 3->4 升級, 網上大部分腳本都執行失敗了

運行前準備

首先, 電腦上需要 安裝 python3 運行環境, 將對應的 import 包依賴進行下載, 最重要的就是 獲取令牌 Token

登陸進 GitLab 設置頁面, 點擊訪問令牌

我設置了中文, 不過差別不大, Token 還是很好認的

Python3使用 GitLab API 進行批量合并分支

依次輸入 Token名稱、Token有效期、以及對應的權限范圍, 將對應的 Token 復制到對應的腳本就好了

Python3使用 GitLab API 進行批量合并分支

具體實現代碼

import urllib.requestimport gitlab# ========================================配置開始=================================================# ⚠️ 項目名, 無實際意義project_name = 'xxxx'# ⚠️ 代表多個項目 ID, 平常一個項目即可, 多個項目需要保證 source_branch、target_branches 保持一致project_id_list = [’xxxx’]# ⚠️ 生成 gitlab 對象gitlab_url = ’xxxx’# ⚠️ 需要生成自己的令牌 tokentoken = ’xxxx’# ⚠️ 將 source_branch 分支 merge target_branches 分支集上source_branch = ’test’target_branches = [’master’]# =========================================配置結束================================================# 驗證登錄gl = gitlab.Gitlab(gitlab_url, token)def main(): for project_id in project_id_list: project = gl.projects.get(project_id) print(’ >>> 項目ID :: [%s], 項目名稱 :: [%s] ’ % (str(project.id), project_name)) for target in target_branches: print(' >>> 正在合并項目 :: [%s] 的 [%s] 分支到 [%s] 分支' % (project_name, source_branch, target)) # mr合并請求的對象 mr = None try: # 創建 merge request mr = project.mergerequests.create({’source_branch’: source_branch, ’target_branch’: target, ’title’: 'Merge branch ’%s’ into ’%s’' % ( source_branch, target) }) # 接受合并請求 url = ’%s/api/v4/projects/%s/merge_requests/%s/merge’ % (gitlab_url, project.id, mr.iid) print(’ >>> Merge url :: [%s], title :: [%s] ’ % (url, mr.title)) # 個人/項目訪問令牌, 添加至請求頭 headers = {'PRIVATE-TOKEN': token} req = urllib.request.Request(url=url, headers=headers, method='PUT') resp = urllib.request.urlopen(req) if resp.code == 200: print(' >>> 合并到目標分支 [%s] 成功, 結束... rn' % target) else: mr.delete() except Exception as e: print(' >>> 合并出錯, 可能有沖突未解決或者 [%s] 分支并沒有更新, 異常信息:: rn' % source_branch, str(e)) # 把創建的 merge 請求刪除 mr.delete()if __name__ == '__main__': main()

總結

到此這篇關于Python3使用 GitLab API 進行批量合并分支的文章就介紹到這了,更多相關Python合并分支內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美国产精品一区二区三区| 成人午夜精品在线| 欧美日韩成人一区二区三区| 中文子幕无线码一区tr| 日韩美女在线视频| 国产色91在线| 亚洲免费网站| 国产99一区视频免费| 日日骚欧美日韩| 免费成人在线观看视频| 久久人人爽人人爽| 91在线云播放| 亚洲区小说区图片区qvod| 久久99精品一区二区三区| 欧美一区二视频在线免费观看| 麻豆av一区二区三区| 国产精品国产精品国产专区不片| 国产99一区视频免费| 欧美日韩色一区| 午夜在线电影亚洲一区| 影音国产精品| 国产欧美一二三区| 不卡的av电影在线观看| 一本大道久久a久久精二百| 国产精品初高中害羞小美女文| 丁香婷婷综合激情五月色| 在线看国产日韩| 亚洲激情一二三区| 激情久久五月| 国产日韩精品一区二区三区在线| 成人性色生活片免费看爆迷你毛片| 欧美色综合网站| 日韩av中文字幕一区二区| 国产美女在线精品免费观看| 亚洲四区在线观看| 好吊日精品视频| 一区二区三区中文字幕精品精品| 亚洲国产影院| 亚洲欧洲中文日韩久久av乱码| 在线观看福利一区| 最新久久zyz资源站| 亚洲国产精选| 亚洲精品你懂的| 性欧美精品高清| 亚洲免费观看高清在线观看| 欧美在线视频二区| 国产日产欧产精品推荐色| 97aⅴ精品视频一二三区| 国产精品成人免费在线| 国产综合亚洲精品一区二| |精品福利一区二区三区| 亚洲激情在线| 亚洲视频精选在线| 亚洲精品日韩在线观看| 亚洲精品高清在线| 国产精品婷婷| 石原莉奈在线亚洲三区| 色婷婷av一区| 五月天久久比比资源色| 色婷婷综合五月| 免费一区二区视频| 欧美视频一区二区三区在线观看| 青青草视频一区| 欧美午夜精品久久久久久孕妇 | 日本一区二区三区在线不卡| www.久久精品| 欧美高清在线一区| 亚洲黄色影院| 亚洲图片欧美色图| 老**午夜毛片一区二区三区 | 国产精品灌醉下药二区| 国产主播一区| 亚洲精品日韩综合观看成人91| 中国成人亚色综合网站| 亚洲国产精品视频| 色老汉av一区二区三区| 国产精品一区二区视频| 久久精品亚洲乱码伦伦中文| 97国产一区二区| 中文字幕日韩一区| 亚洲高清视频一区| 亚洲福利一区二区三区| 一本高清dvd不卡在线观看| 紧缚捆绑精品一区二区| 欧美大度的电影原声| 成人av手机在线观看| 国产精品午夜在线| 国产日韩欧美精品| 日韩电影在线免费观看| 在线播放欧美女士性生活| 丁香另类激情小说| 亚洲欧美在线观看| 久久九九电影| 国产在线播放一区三区四| 欧美成人乱码一区二区三区| 欧美福利一区| 一区二区三区视频在线看| 欧美综合久久久| 99久久免费视频.com| 亚洲三级理论片| 久久精品盗摄| 国产精品亚洲а∨天堂免在线| 久久久精品国产免大香伊| 宅男噜噜噜66一区二区| 精品一区二区三区在线播放| 久久久99精品免费观看| 亚洲影音先锋| 国产69精品久久777的优势| 国产精品国产三级国产| 日本高清视频一区二区| 99久久99久久综合| 亚洲成人激情自拍| 精品国产亚洲在线| 国产视频一区在线观看一区免费| 国产在线播放一区三区四| 2023国产精品| 99国产精品| 国产一区久久久| 国产精品二区一区二区aⅴ污介绍| 午夜亚洲激情| 国产成人8x视频一区二区| 亚洲精品一线二线三线无人区| 亚洲午夜精品久久久久久浪潮| 琪琪一区二区三区| 国产精品国产三级国产专播品爱网| 色88888久久久久久影院野外 | 欧美日韩一区二区三区在线观看免 | 亚洲色图欧美激情| 911精品产国品一二三产区 | 欧美日韩电影一区| 欧美精品二区| 香蕉av福利精品导航| 久久精品亚洲麻豆av一区二区| 久久久久久亚洲精品杨幂换脸| 成人精品国产一区二区4080| 亚洲福利一区二区| 国产亚洲制服色| 色国产综合视频| 欧美日韩视频一区二区三区| 美女视频一区在线观看| 国产农村妇女精品| 欧美午夜宅男影院| 亚洲国内在线| 不卡一区二区中文字幕| 日本亚洲一区二区| 亚洲欧洲三级电影| 91精品国产综合久久婷婷香蕉| 国产精品试看| 欧美日韩 国产精品| 国产黑丝在线一区二区三区| 亚洲一区二区精品视频| 久久精品夜色噜噜亚洲aⅴ| 欧美日韩成人在线一区| 国产日产高清欧美一区二区三区| 高清国产一区二区三区| 五月婷婷激情综合网| ...中文天堂在线一区| 欧美电影免费观看完整版| 欧美影院精品一区| 亚洲视频成人| 午夜精品国产| 国产麻豆91精品| 舔着乳尖日韩一区| 中文无字幕一区二区三区| 91精品国产91久久久久久一区二区| 噜噜噜躁狠狠躁狠狠精品视频 | 蜜桃av噜噜一区| 亚洲三级视频在线观看| 精品理论电影在线观看| 欧洲生活片亚洲生活在线观看| 亚洲全部视频| 欧美日韩精品久久| 不卡av电影在线播放| 国产综合一区二区| 午夜精品免费在线观看| 国产精品国产自产拍高清av王其 | 久久久91精品国产一区二区精品| 欧美精品欧美精品系列| 色素色在线综合| 亚洲免费网址| 国内精品久久久久久久影视蜜臀| www.欧美.com| 久久狠狠亚洲综合| 日韩国产欧美三级| 亚洲午夜电影在线| 亚洲蜜臀av乱码久久精品| 国产精品毛片a∨一区二区三区| 精品乱人伦小说| 日韩一区二区三区视频在线 | 青青草成人在线观看| 一区二区三区.www| 一色屋精品亚洲香蕉网站| 国产视频一区二区在线| 精品国产伦一区二区三区观看体验| 91精品国产综合久久精品| 欧美日韩亚洲国产综合| 欧美视频精品在线| 欧美日韩在线播放三区四区| 欧美视频中文字幕| 美女日韩在线中文字幕|