91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3使用 GitLab API 實現批量合并分支

發布時間:2020-10-27 21:34:36 來源:億速云 閱讀:472 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關Python3使用 GitLab API 實現批量合并分支,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

運行前準備

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

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

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

Python3使用 GitLab API 實現批量合并分支

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

Python3使用 GitLab API 實現批量合并分支

具體實現代碼

import urllib.request
import gitlab

# ========================================配置開始=================================================

# ⚠️ 項目名, 無實際意義
project_name = "xxxx"
# ⚠️ 代表多個項目 ID, 平常一個項目即可, 多個項目需要保證 source_branch、target_branches 保持一致
project_id_list = ['xxxx']
# ⚠️ 生成 gitlab 對象
gitlab_url = 'xxxx'
# ⚠️ 需要生成自己的令牌 token
token = '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] 成功, 結束... \r\n" % target)
    else:
     mr.delete()
   except Exception as e:
    print(" >>> 合并出錯, 可能有沖突未解決或者 [%s] 分支并沒有更新, 異常信息:: \r\n" % source_branch, str(e))
    # 把創建的 merge 請求刪除
    mr.delete()

if __name__ == "__main__":
 main()

上述就是小編為大家分享的Python3使用 GitLab API 實現批量合并分支了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汾阳市| 津市市| 汶川县| 新营市| 股票| 贺兰县| 台湾省| 彝良县| 儋州市| 福州市| 龙陵县| 宝清县| 宾川县| 九台市| 林周县| 辽中县| 蓬安县| 东乌珠穆沁旗| 夹江县| 江华| 武清区| 康平县| 兴化市| 汤原县| 茶陵县| 沙坪坝区| 莱芜市| 松滋市| 铅山县| 平江县| 松江区| 清丰县| 新巴尔虎右旗| 建德市| 德江县| 潮安县| 柘荣县| 连南| 呼和浩特市| 静安区| 江陵县|