python 应用jenkins 环境变量 或者 parameter variable

本文介绍如何使用Python脚本实现jenkins环境中的监控数据收集,并通过Elasticsearch进行存储。重点在于os.getenv获取环境变量并组合构建文档ID,以及使用requests库进行API请求和数据写入。

1.import os

2.os.getenv("xxx")

3.example: os.getenv("BUILD_NUMBER")+"_"+os.getenv("region")

#!/usr/bin/python3

import json
import os
from time import sleep
import requests

aws_monitor_api_uri = "localhost"
es_endpoint = "http://xxxxx:9200/index/_doc/"


def fetch_monitor_result():
    response = requests.get(aws_monitor_api_uri,timeout=15)
    assert 200 == response.status_code
    return response


def write_doc_into_es_xxxx_index(jenkinsBuildTag):
    payload = {'monitor_result': fetch_monitor_result().json(), 'jenkinsJobBuildTag': jenkinsBuildTag}
    headers = {'content-Type': 'application/json'}
    payload_json = json.dumps(payload, indent=4)
    print(payload_json)
    response = requests.post(es_traffic_endpoint, data=payload_json, headers=headers)
    print(response.json())
    assert 201 == response.status_code


if __name__ == '__main__':
    print("initial flink wait for 1 minute")
    build_tag = os.getenv("BUILD_NUMBER")+"_"+os.getenv("region")+"_"+os.getenv("Project")+"_"+os.getenv("map")+"_"+os.getenv("BuildType")
    print(build_tag)
    sleep(1)
    for i in range(1, 3):
        write_doc_into_es_xxxx_index(build_tag)
        sleep(1)
        print("loading interval 30 seconds...,total 1800 seconds,the rest time is {0} seconds".format(60 * 30 - i * 30))

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值