使用Travis CI API获取存储库的作业日志文件

问题描述

我目前正在寻找使用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。

参考:https://developer.travis-ci.org/resource/log#Log