0

我正在使用 jenkins 自动将我的构建上传到 testflight。我已经弄清楚了我需要的大部分东西,但是我被困在一个我似乎无法摆脱的地方。

这是我用于测试飞行上传的脚本

curl http://testflightapp.com/api/builds.json \
-F file=@mybuild.ipa \
-F dsym=@mybuilddSYM.zip \
-F api_token='<api_token>' \
-F team_token='<team_token>' \
-F notes='Release notes'

我想提供的不是静态字符串,而是更动态的版本说明,例如我上次的 github 提交详细信息,或者我创建的最新标签名称。但我无法提供此信息。

我尝试了类似 -F notes='"$(git log --pretty=format:"%h - %an, %ar : %s" -n 3)"' // 给出最后 3 次提交,但它是将 "$(git log --pretty=format:"%h - %an, %ar : %s" -n 3)" 作为字符串,而不是值。

有人可以帮忙吗?

4

3 回答 3

1

您是否尝试过用反引号(即 ` 字符)将命令括起来?例如

notes=`git log --pretty=format:"%h - %an, %ar : %s" -n 3`

要评估的:

-F notes="$notes"
于 2013-05-16T16:12:10.577 回答
0

我用 Ruby 来做这件事,特别是因为存在很棒的游牧工具包

但也有使用 shell 的要点:https ://gist.github.com/djacobs/2411095

于 2013-09-02T20:15:03.083 回答
0

我最近一直在使用 shell 脚本在 TeamCity 中处理这个脚本。为了让我使用这样的变量类型,我必须使用以下语法:

#!/bin/bash

VARIABLE_NAME = $( /bin/date +"%Y-%m-%d" )

echo ${VARIABLE_NAME}
于 2013-02-04T15:47:03.453 回答