#!/usr/bin/env python3
# coding: utf-8
"""
Created by Liushuai at 2020/3/24
"""
import gitlab
import urllib3
gitlab_url = "https://git.ennew.alpha"
gitlab_private_token = "CGVFx9rXbzzdT3-26aCr"
projects_info = [{"p_name": "wms3", "p_id": 19}, {"p_name": "pricing", "p_id": 134},
{"p_name": "data", "p_id": 27}, {"p_name": "marketing", "p_id": 55},
{"p_name": "order", "p_id": 37}, {"p_name": "schedule", "p_id": 20},
{"p_name": "goods", "p_id": 40}, {"p_name": "purchase", "p_id": 36},
{"p_name": "users", "p_id": 45}, {"p_name": "business", "p_id": 63},
{"p_name": "common", "p_id": 16}, {"p_name": "yauthcfg", "p_id": 84},
{"p_name": "mallop", "p_id": 51}, {"p_name": "malldesk", "p_id": 93},
{"p_name": "stock", "p_id": 256}, {"p_name": "wanxiang", "p_id": 98},
{"p_name": "content", "p_id": 25}, {"p_name": "finance", "p_id": 54},
{"p_name": "quality", "p_id": 26}, {"p_name": "account", "p_id": 56},
{"p_name": "message", "p_id": 47}, {"p_name": "web3rd", "p_id": 163},
{"p_name": "pay", "p_id": 149}, {"p_name": "opplatform", "p_id": 42},
{"p_name": "cda", "p_id": 224}, {"p_name": "thinktank", "p_id": 277},
{"p_name": "coa", "p_id": 225}, {"p_name": "channeldesk", "p_id": 62},
{"p_name": "poa", "p_id": 227}, {"p_name": "channelback", "p_id": 65},
{"p_name": "mda", "p_id": 228}, {"p_name": "3rdquality", "p_id": 155},
{"p_name": "moa", "p_id": 229}, {"p_name": "3rdintegra", "p_id": 161},
{"p_name": "idp", "p_id": 17}, {"p_name": "platformdesk", "p_id": 117},
{"p_name": "sap", "p_id": 46}, {"p_name": "qualitytrace", "p_id": 257},
{"p_name": "sv", "p_id": 114}, {"p_name": "webthinktank", "p_id": 280},
]
urllib3.disable_warnings()
class releaseManager:
def __init__(self):
self.git_obj = gitlab.Gitlab(url=gitlab_url, private_token=gitlab_private_token, ssl_verify=False, per_page=50)
def list_release(self, p_id):
p_obj = self.git_obj.projects.get(p_id)
print(p_obj.protectedbranches.list())
def create_release(self, p_id):
p_obj = self.git_obj.projects.get(p_id)
try:
p_obj.protectedbranches.create({"name": "release*"})
print("创建保护分支 release_* 成功.")
except Exception as e:
print(e)
def delete_release(self, p_id):
p_obj = self.git_obj.projects.get(p_id)
try:
p_obj.protectedbranches.delete("release*")
print("删除保护分支 release* 成功.")
except Exception as e:
print(e)
if __name__ == "__main__":
re_manager = releaseManager()
for project in projects_info:
p_id = project["p_id"]
print(p_id)
re_manager.list_release(p_id)