蓝鲸流水线,也就是项目流程,是蓝鲸最重要的用途之一。但是每次新建任务,都要填一堆参数,非常繁琐,
尤其是批量几十个任务,难道都要填几十次参数?
所以,如果能通过接口调用和启动蓝鲸流水线,就最好了,找了很久,终于找到了官方文档:
https://bk.tencent.com/docs/markdown/ZH/SOPS/3.6/APIDocs/sops/zh-hans/create_task.md
https://bk.tencent.com/docs/markdown/ZH/SOPS/3.6/APIDocs/sops/zh-hans/operate_task.md
代码范例
import json,requests
res = {"status":"","msg":""}
api_create = "/api/c/compapi/v2/sops/create_task/"
api_start = "/api/c/compapi/v2/sops/operate_task/"
#基本参数
headers={"Content-Type":"application/json"}
base_params = {
"bk_app_code": APP_CODE, #应用ID 通过开发者中心注册
"bk_app_secret": SECRET_KEY, #应用TOKEN 开发者中心-我的应用
"bk_username": 'admin' #应用免登录态验证白名单中的应用
}
template_id = '140' #任务模板 ID
bk_biz_id = '4' #模板所属业务ID
#然后就是给各个参数赋值,这里仅仅是示范
dbhost = 'xxxxx'
edition = 'yyyyy'
name = '任务名称'
constants = {'${dbhost}':dbhost,'${edition}':edition }
param1 = {
'bk_biz_id': bk_biz_id,
'template_id': template_id,
"name": name,
"constants": constants
}
param1.update(base_params)
BK_URL='你的蓝鲸地址'
#创建任务
ret=requests.post(url=BK_URL+api_create,headers=headers,data=json.dumps(param1)).json()
task_id=ret['data']['task_id'] #获取任务ID
res["msg"]=f"{name}蓝鲸流水线启动 任务ID{task_id} "
#启动任务
param2 = {"action": "start","bk_biz_id": bk_biz_id,"task_id": task_id}
param2.update(base_params)
start_rst=requests.post(url=BK_URL+api_start,headers=headers,data=json.dumps(param2)).json()
res["msg"] += start_rst.get("message")
注意,这就是template_id
这就是 bk_biz_id
这样,就实现了python脚本启动蓝鲸流水线