问题描述
我目前正在寻找使用Travis CI API从Travis CI的公共存储库(例如apache / commons-math)中获取所有作业日志文件(例如https://api.travis-ci.org/v3/job/6073028/log.txt)的方法。
我想知道是否有可能,以及如何做到。
解决方法
您可以创建一个脚本并在其中进行 API 调用,例如:
get-logs.sh
echo "Getting logs job from ${TRAVIS_JOB_ID}"
REQUEST_RESULT=$(curl -s -X GET \
-H "Travis-API-Version: 3" \
-H "Accept: text/plain" \
-H "Authorization: token ${TOKEN}" \
https://api.travis-ci.org/api/job/${TRAVIS_JOB_ID}/log)
echo " * request result:"
echo "${REQUEST_RESULT}"
然后稍后调用脚本:sh get-logs.sh > travisLogs.log
${TOKEN}
是您的 travis 存储库的令牌。 https://blog.travis-ci.com/2013-01-28-token-token-token
${TRAVIS_JOB_ID}
作业的 id,这也是一个 travis 变量,所以如果它在 .travis.yml
内,它将获得当前作业 ID。