日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

瀏覽:23日期: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 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩黄色大片| 亚洲在线国产日韩欧美| 在线国产日韩| 99精品电影| 欧美成人基地| 欧美日韩精品一区二区视频| 久久久久99| 在线日韩中文| 中文字幕高清在线播放| 中文字幕在线高清| 日韩中文在线电影| 亚洲香蕉网站| 日韩专区欧美专区| 日韩成人在线看| 亚洲一卡久久| 最新亚洲国产| 欧美影院视频| 日本成人中文字幕| 欧美有码在线| 久久久精品国产**网站| 国产一区2区| 宅男噜噜噜66国产日韩在线观看| 亚州av乱码久久精品蜜桃| 首页欧美精品中文字幕| 婷婷亚洲成人| 欧美日韩日本国产亚洲在线| 久久影院资源站| 欧美一区二区三区久久| 国产精品超碰| 麻豆中文一区二区| 日韩欧美看国产| 色综合视频一区二区三区日韩 | 黑丝一区二区| 午夜在线精品| 亚洲2区在线| 91福利精品在线观看| 久久一区精品| 在线亚洲激情| 999精品在线| 国产精品亚洲二区| 国内精品亚洲| 国产免费成人| 国产一级久久| 亚洲一区欧美激情| 久久精品97| 国产成人1区| 免费一级欧美在线观看视频 | 国产一区导航| 亚洲精品乱码| 麻豆网站免费在线观看| 亚洲一区成人| 婷婷综合社区| 国产91欧美| 免费欧美一区| 韩国精品主播一区二区在线观看| 久久久久久久久丰满| 日本午夜精品| 亚洲图片久久| 亚洲欧美专区| 黄色日韩在线| 免费av一区二区三区四区| 日韩中文字幕一区二区高清99| 国产福利一区二区三区在线播放| 亚洲91视频| 欧美午夜三级| 亚洲午夜黄色| 日韩亚洲精品在线| 欧美日韩国产免费观看视频| 精品黄色一级片| 午夜亚洲福利在线老司机| 国模 一区 二区 三区| 久久亚洲道色| 91综合网人人| 精品一区三区| 美女福利一区二区三区| 国产99精品| 日韩高清成人在线| 精品久久视频| 福利一区二区三区视频在线观看| 日韩精品一二三四| 91亚洲一区| 日韩高清一区二区| 日韩成人亚洲| 青草国产精品久久久久久| 99久久夜色精品国产亚洲狼| 日韩av在线免费观看不卡| 欧美成人午夜| 精品国产亚洲一区二区三区| 国产精品美女久久久| 丝袜美腿亚洲一区二区图片| 麻豆精品视频在线| 水蜜桃久久夜色精品一区的特点| 国产一区二区三区国产精品| 天堂成人国产精品一区| 国产精品伊人| 美女在线视频一区| 日韩综合一区| 亚洲精品日韩久久| 视频在线观看国产精品| 国产不卡一区| 国产精品丝袜在线播放| 日韩中文字幕一区二区三区| 久久久久国产| 国产精品99一区二区三| 丝瓜av网站精品一区二区| 电影亚洲精品噜噜在线观看| 欧美激情99| 国产欧美亚洲一区| 日本中文字幕不卡| 在线观看亚洲精品福利片| 五月婷婷六月综合| 精品捆绑调教一区二区三区 | 日韩一区电影| 久久免费福利| 久久激五月天综合精品| 成人在线观看免费视频| 国产美女亚洲精品7777| 奶水喷射视频一区| 国产欧美综合一区二区三区| 婷婷丁香综合| 播放一区二区| 日韩精品第一区| 福利在线一区| 美女在线视频一区| 青青青免费在线视频| 久久福利在线| 群体交乱之放荡娇妻一区二区| 国产精品99久久久久久董美香| 97成人超碰| 日韩不卡一区二区| 日韩精品成人| 欧美久久久网站| 日本特黄久久久高潮| 国产精品普通话对白| 欧美1区2区3区| 婷婷六月综合| 久久成人精品| 日韩欧美四区| 日韩av中文字幕一区| 国产精品免费大片| 美女国产精品久久久| 免费在线亚洲| 国产一区不卡| 日韩欧美少妇| 91精品二区| 国产亚洲激情| 亚洲精品伦理| 国产亚洲欧美日韩在线观看一区二区| 男女性色大片免费观看一区二区| 国产视频一区在线观看一区免费| 只有精品亚洲| 蜜臀91精品一区二区三区| 欧美中文字幕| 日本91福利区| 国际精品欧美精品| 97se综合| 欧美成人国产| 亚洲精品亚洲人成在线观看| 欧美一区二区三区久久| 欧美aⅴ一区二区三区视频| 国产不卡精品| 五月天久久网站| 青青青国产精品| 久久精品福利| 久久午夜视频| 国内精品美女在线观看| 亚洲精品一区三区三区在线观看| 狠狠爱成人网| 少妇高潮一区二区三区99| 福利欧美精品在线| 亚洲精品高潮| 日韩精品1区| 精品网站999| 日韩在线麻豆| 欧美激情99| 久久国产直播| 久久国产精品久久w女人spa| 亚洲香蕉久久| 日本色综合中文字幕| 精品国产99| 五月天激情综合网| 国产另类在线| 久久精品二区三区| 亚州av日韩av| 在线天堂资源www在线污| 久久国产精品99国产| 国产精品久久久久9999高清| 欧美日韩精品免费观看视完整| 亚洲深爱激情| 国产欧美三级| 久久久久一区| 97成人在线| 蜜臀av免费一区二区三区| 热久久久久久久| 精品九九久久| 亚洲深夜福利| 国产成人调教视频在线观看| 欧美专区在线| 高清一区二区三区av| 视频一区二区国产|