成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
国产欧美午夜| 香蕉av777xxx色综合一区| 美女视频一区二区三区| 亚洲成人福利片| 香蕉加勒比综合久久| 亚洲国产精品麻豆| 午夜精品久久久久| 日韩二区在线观看| 欧美亚洲一区二区三区| 91麻豆精品国产91久久久久久久久| 久久蜜桃一区二区| 欧美性xxxxxxxx| 欧美网站一区二区| 7777精品伊人久久久大香线蕉超级流畅| 不卡av电影在线播放| 欧美日韩国产综合一区二区三区| 国语精品中文字幕| 99精品视频免费观看| 免费久久99精品国产自在现线| 久久九九久久九九| 国产精品久久久久久久久免费丝袜| 久久久夜夜夜| 欧美电影一区二区| 2020国产精品| 亚洲人成人一区二区在线观看| 欧美一区二区| 精一区二区三区| 国产不卡视频在线观看| 97久久精品人人爽人人爽蜜臀| 首页国产欧美久久| 国产成人免费视频一区| 午夜欧美理论片| 性色av一区二区怡红| 欧美日韩另类国产亚洲欧美一级| 99国产精品视频免费观看一公开| 国产精品18久久久久久久久久久久 | 日本黄色一区二区| 69av一区二区三区| 欧美激情一区二区| 午夜在线电影亚洲一区| 久久精品官网| 亚洲综合偷拍欧美一区色| 日韩精彩视频在线观看| 美女久久久精品| va亚洲va日韩不卡在线观看| 亚洲午夜91| 欧美妇女性影城| 国产欧美日韩一级| 欧美一区二区三区公司| 国产精品萝li| 国内精品自线一区二区三区视频| 亚洲卡通动漫在线| 激情小说欧美图片| 国产精品v欧美精品v日韩精品| 不卡的av电影| 久久久蜜桃一区二区人| 久久伊99综合婷婷久久伊| 亚洲国产精品尤物yw在线观看| 又紧又大又爽精品一区二区| 韩国精品免费视频| 亚洲一区欧美一区| 99精品视频在线观看免费| 韩国毛片一区二区三区| 99精品99久久久久久宅男| 日韩视频一区二区三区在线播放 | 欧美精品一区二区久久久| 亚洲第四色夜色| 欧美激情五月| 欧美性大战久久久久久久蜜臀| 欧美日韩精品系列| 日韩毛片高清在线播放| 成人动漫一区二区| 欧美亚洲动漫制服丝袜| 一区二区三区在线影院| 91免费视频网| 日韩精品专区在线影院观看 | 国产亚洲va综合人人澡精品| 麻豆国产91在线播放| 亚洲经典三级| 久久精品人人爽人人爽| 国产91精品在线观看| 欧洲激情一区二区| 亚洲成av人片一区二区三区| 91久久极品少妇xxxxⅹ软件| 久久无码av三级| 国产91在线观看| 51久久夜色精品国产麻豆| 免费人成在线不卡| 国产精品一区二区三区四区五区 | 久久久美女艺术照精彩视频福利播放| 在线成人av影院| 五月激情丁香一区二区三区| 99精品视频免费| 国产精品理论在线观看| av在线播放不卡| 欧美成人高清电影在线| 国产a视频精品免费观看| 欧美日韩国产欧美日美国产精品| 欧美一区二区免费视频| 亚洲成人原创| 国产欧美日韩另类一区| 欧美在线3区| 欧美国产日韩亚洲一区| 亚洲国产中文字幕在线视频综合 | 日产精品久久久久久久性色| 亚洲欧美日韩综合国产aⅴ| 亚洲精品免费视频| 欧美专区在线| 日韩制服丝袜先锋影音| 欧美亚洲自拍偷拍| 国产精品中文字幕一区二区三区| 欧美在线首页| 亚洲精品一区在线观看| 精品日韩一区二区三区| 成人一级黄色片| 日韩美一区二区三区| 91在线观看污| 中文字幕一区二区三区精华液| 亚洲精品亚洲人成人网| 亚洲视频成人| 日韩黄色免费电影| 欧美日韩一卡二卡三卡| 欧美在线观看一区| 国产视频亚洲| 亚洲大型综合色站| 欧美日精品一区视频| 国产精品一区一区| 中文字幕巨乱亚洲| 影音先锋日韩资源| 日本va欧美va瓶| 欧美va亚洲va香蕉在线 | 国产suv精品一区二区6| 日韩一区二区三区电影在线观看| 亚洲午夜精品在线| 欧美巨大另类极品videosbest | 久久人人97超碰com| 激情视频一区| 免费欧美在线视频| 欧美一区二区三区小说| 国内精品嫩模av私拍在线观看| 欧美精品久久99久久在免费线| 国产精品电影一区二区| 在线看片日韩| 日韩综合在线视频| www激情久久| 国产精品一区二区三区观看| 国产精品资源站在线| 国产精品美女一区二区三区| 久久精品网址| 波多野结衣中文字幕一区二区三区| 色94色欧美sute亚洲线路一久 | 亚洲欧美一区二区三区孕妇| 欧美一级二区| 91在线看国产| 欧美一区国产二区| 亚洲青涩在线| k8久久久一区二区三区| 午夜激情久久久| 久久久久国产精品麻豆ai换脸| 波多野洁衣一区| 欧美一区=区| 91丨国产丨九色丨pron| 蜜桃av一区二区三区电影| 国产亚洲短视频| 欧美在线观看一区二区| 99成人免费视频| av不卡免费在线观看| 奇米影视一区二区三区小说| 亚洲色图欧美激情| 精品国产一区二区三区av性色| 亚洲国产精品v| 欧美三级中文字| 小嫩嫩精品导航| 欧美体内she精视频在线观看| 欧美国产一区二区在线观看| 色诱视频网站一区| 国产欧美日韩伦理| 国产一区久久| 国产欧美日韩一区二区三区在线观看 | 婷婷丁香久久五月婷婷| 国产欧美一区二区三区在线看蜜臀| 欧美成人综合| 中文字幕日韩精品一区| www国产亚洲精品久久麻豆| 欧美日韩在线综合| 久久九九免费| 中文日韩在线| 亚洲成人手机在线| 中文字幕免费一区| 日韩视频一区二区| 欧美日韩成人综合天天影院| 国产午夜精品一区二区三区欧美| 国产一区二区三区久久久| 亚洲一区二区在线视频| 免费观看日韩电影| 亚洲主播在线观看| 亚洲国产精品久久人人爱| 亚洲日本免费电影| 亚洲美女视频在线观看| 亚洲日韩欧美一区二区在线|