You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.4 KiB
83 lines
2.4 KiB
import json
|
|
import os
|
|
import requests
|
|
|
|
|
|
def file_write(file_name,text_content):
|
|
# charset()
|
|
file = open(file_name , "w")
|
|
file.write(str(text_content))
|
|
file.close()
|
|
|
|
|
|
def dingtalk(cdn_url,packageUrl):
|
|
tpl_for_dingtalk=f'''
|
|
下载地址: "{cdn_url}{packageUrl}"
|
|
|
|

|
|
|
|
项目名称:[PLUGIN_TPL_REPO_SHORT_NAME]
|
|
|
|
更新作者: [CI_COMMIT_AUTHOR_NAME]
|
|
|
|
<font color=[TPL_STATUS_COLOR] size="3">
|
|
更新内容:[TPL_COMMIT_MSG]
|
|
</font>
|
|
|
|
[ [查看构建详情)]]([TPL_BUILD_LINK])
|
|
|
|
'''
|
|
print (tpl_for_dingtalk)
|
|
file_write("./.tpl",tpl_for_dingtalk)
|
|
|
|
|
|
def obsUpload(file,uploadType):
|
|
url_obsUpload = os.getenv('url_for_iotfile') + "/api/file/v1/attachment/obsUpload"
|
|
myfiles = {'file': open(file, 'rb')}
|
|
mydata = {'uploadType': uploadType}
|
|
r = requests.post(url_obsUpload, data=mydata, files=myfiles)
|
|
print (r.text)
|
|
json_str = r.text
|
|
info = json.loads(json_str)['data']
|
|
return info
|
|
|
|
# APP管理-新增APP
|
|
def platformAppAdd():
|
|
# with open(".tags") as f: version = f.read().strip()
|
|
logoFile = obsUpload(file=str(os.getenv('logo')), uploadType='logo')
|
|
packageFile = obsUpload(file=str(os.getenv('package')),uploadType='compress')
|
|
bodyjson = {
|
|
'name': os.getenv('name'),
|
|
'version': os.getenv('version'),
|
|
'genre': os.getenv('genre'),
|
|
'logoCode': logoFile['code'],
|
|
'logoUrl': logoFile['url'],
|
|
'packageCode': packageFile['code'],
|
|
'packageUrl': packageFile['url'],
|
|
'des': os.getenv('des')
|
|
}
|
|
print (bodyjson)
|
|
url_platformAppAdd = os.getenv('url_for_iotplatform') + "/api/platform/v1/platformApp/platformAppAdd"
|
|
headers = {'content-type': 'application/json;charset=UTF-8'}
|
|
r = requests.post(url_platformAppAdd, headers=headers, data=json.dumps(bodyjson))
|
|
print (r.text)
|
|
|
|
cdn_url = os.getenv('cdn_url')
|
|
packageUrl = packageFile['url']
|
|
dingtalk(cdn_url,packageUrl)
|
|
|
|
|
|
|
|
if os.getenv("isiot") != 'False':
|
|
platformAppAdd()
|
|
else:
|
|
print ("is not iot")
|
|
if os.getenv("DRONE_BRANCH") == 'master':
|
|
cdn_url = 'https://qianmu-iot.1000my.com/'
|
|
else:
|
|
cdn_url = 'https://test-598d.1000my.com/'
|
|
packageUrl = os.getenv('DRONE_REPO_NAMESPACE') + '-' + os.getenv('DRONE_REPO_NAME') + '-' + os.getenv('DRONE_BRANCH') + '/' + os.getenv('DRONE_REPO_NAME') + '.' + os.getenv('version')+ '.zip'
|
|
dingtalk(cdn_url,packageUrl)
|
|
|
|
|
|
|
|
|