用于将datadog仪表板导出(或导入)到(或从)json的工具
dashjson的Python项目详细描述
dashjson.py——一个数据狗工具
用于将datadog仪表板导出(或导入)到(或从)json的工具。它允许datadog仪表板定义为
- 版本控制为json文件,并且
- 跨数据狗帐户迁移
使用Python3.6.7和Datadog 0.26.0进行测试。
如何使用
创建包含api_密钥和app_密钥的凭据文件。凭证文件的示例内容(您的密钥可以在https://app.datadoghq.com/account/settings#api找到):
# cat ~/.dashjson.json
{
"api_key": "abcdefg12345678",
"app_key": "abcdefg987654321"
}
通过PIP安装:
python3 -m pip install --user dashjson
显示工具的用法:
python3 -m dashjson -h
如何构建(仅限贡献者)
这些是我在ubuntu 18.04上使用的步骤。
将以下行添加到~/.bashrc
:
# Due to https://github.com/pypa/pipenv/issues/2122
export PATH="${HOME}/.local/bin:$PATH"
# Due to https://github.com/pypa/pipenv/issues/1382
export PIPENV_VENV_IN_PROJECT=true
安装PIP和PIPENV:
sudo apt install python3-pip
python3 -m pip install --user pipenv
克隆并在本地设置项目:
git clone git@github.com:ouyi/dashjson.git
cd dashjson
pipenv install --dev
pipenv run python -m unittest
pipenv run python dashjson.py -h
上传版本:
rm -rf build/ dist/
python setup.py sdist bdist_wheel
pip install . -vvv
python -m dashjson -h
vim setup.py # bump version
git add setup.py && git commit -m "Bump version"
git tag -a my_tag -m "My message"
git push origin master && git push origin --tags
python -m twine upload dist/*
待办事项
- 自动确定仪表板类型
对于导入,信息在输入文件中可用。对于导出,我们可以先{a3},然后用ID检查存在性。
- 嵌入代码覆盖徽章
覆盖率数据可以通过以下方式生成:
coverage run --source=dashjson -m unittest && coverage report && coverage-badge -f -o coverage.svg
- 使发布过程自动化