From 2840933422ece2bc8bad4901b506df67f609135f Mon Sep 17 00:00:00 2001 From: liuqi <469227928@qq.com> Date: Tue, 23 May 2023 16:46:13 +0800 Subject: [PATCH] add script to parse Request Body of Gitee WebHook --- src/utils/parse_env.py | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/utils/parse_env.py diff --git a/src/utils/parse_env.py b/src/utils/parse_env.py new file mode 100644 index 0000000..c5fc4cb --- /dev/null +++ b/src/utils/parse_env.py @@ -0,0 +1,53 @@ +""" +解析WebHook中的jsonBody,并将部分下级工程需要的环境变量写入envInject文件中 +""" + +import json +import os +import sys + + +if len(sys.argv) < 2: + print('A json file must be a parameter to provide.') + sys.exit(1) +json_file = sys.argv[1] +if not os.path.exists(json_file): + print('Need json file to parse.') + sys.exit(1) +with open(json_file, 'r') as f: + body_map = json.loads(f.read()) +giteeRepoName = body_map['repository']['name'] +giteePullRequestIid = body_map['pull_request']['number'] +giteeSourceBranch = body_map['pull_request']['head']['ref'] +giteeTargetBranch = body_map['pull_request']['base']['ref'] +giteeSourceNamespace = body_map['pull_request']['head']['repo']['namespace'] +giteeTargetNamespace = body_map['pull_request']['base']['repo']['namespace'] +giteeCommitter = body_map['pull_request']['user']['login'] +comment = body_map['comment']['body'] +commentID = body_map['comment']['id'] +jobTriggerTime = body_map['comment']['updated_at'] +prCreateTime = body_map['pull_request']['created_at'] +triggerLink = body_map['comment']['html_url'] +PULL_NUMBER = body_map['pull_request']['number'] +REPO_OWNER = body_map['repository']['namespace'] +REPO_NAME = body_map['repository']['name'] + +with open('inject.txt', 'w') as f: + f.write('giteeRepoName={}\n' + 'giteePullRequestIid={}\n' + 'giteeSourceBranch={}\n' + 'giteeTargetBranch={}\n' + 'giteeSourceNamespace={}\n' + 'giteeTargetNamespace={}\n' + 'giteeCommitter={}\n' + 'comment={}\n' + 'commentID={}\n' + 'jobTriggerTime={}\n' + 'prCreateTime={}\n' + 'triggerLink={}\n' + 'PULL_NUMBER={}\n' + 'REPO_OWNER={}\n' + 'REPO_NAME={}\n'.format(giteeRepoName, giteePullRequestIid, giteeSourceBranch, giteeTargetBranch, + giteeSourceNamespace, giteeTargetNamespace, giteeCommitter, comment, commentID, + jobTriggerTime, prCreateTime, triggerLink, PULL_NUMBER, REPO_OWNER, REPO_NAME)) +print('save env to inject.txt') -- Gitee