我正在尝试访问GitHub API以从特定存储库中获取提交。我在curl
中使用gradle
命令。
问题:
在gradle任务中,从命令行成功执行/工作的相同curl命令失败。
命令:
curl -X GET -H "Authorization:token <TOKEN>" https://api.github.com/repos/<reponame_with_slash>/commits
奇怪的是,该命令可以在命令行上顺利运行,但不能在gradle脚本中运行。这是我的gradle代码。
Gradle 代码:
def command = "curl -X GET -H \"Authorization:token <TOKEN>\" https://api.github.com/repos/<reponame_with_slash>/commits"
println command
def proc = command.execute()
proc.waitFor()
if (proc.exitValue() != 0) {
println "stderr: ${proc.err.text}"
println "stdout: ${proc.in.text}"
throw new GradleException("failed with return code " + proc.exitValue())
}
println proc.text
最佳答案
我知道了。
问题在于串联。我只是重新编码了那行['curl','-X','POST',<url>,'-H',<authHeader>,'-d',<payload>].execute().text
而且有效。
关于git - 无法在Gradle中使用Curl访问Github API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410431/