我有Teamcity正在运行build,它有* .msi安装程序的工件输出,我需要标记成功和失败的测试构建,类似
<filename>_<build_status>.msi
即使某些测试失败,我也将TC设置为构建安装程序,以便将测试程序发送给我们。所以关键是要从TeamCity环境中接收构建状态,而不使用REST。
答案 0 :(得分:2)
我意识到您说您不想使用REST,但您需要做的就是对此URL执行GET请求,替换您的构建配置ID。 IMO这是最简单的方法(前提是安装程序构建配置是一个单独的构建)
/httpAuth/app/rest/builds/buildType:Installer_Build/status
如果您需要帮助实现这一点,请告诉我。
1)添加要设置为GET请求输出的参数
2)添加PowerShell步骤并将代码作为源代码运行 - Get Build Status Gist
3)更新下面突出显示的相关参数以匹配您的设置
希望这有帮助
答案 1 :(得分:0)
我用于其他SO问题剂量的答案也适用于此。
适用于TeamCity Enterprise 2017.1.2(build 46812)
Here你可以找到我的原始答案。
// AgendaItems in Manual Save mode
var agendaDs = app.datasources.AgendaItems;
// this line will create item on client and automatically push it
// to ds.items and set ds.item to it.
agendaDs.createItem();
var agendaDraft = agendaDs.item;
// Field values can be populated from UI via bindings...
agendaDraft.Type = 'X';
agendaDraft.Description = 'Y';
// onDocumentSelect Drive Picker's event handler
var docsDs = agendaDs.relations.AgendaDocs;
result.docs.forEach(function(doc) {
// this line will create item on client and automatically push it
// to ds.items and set ds.item to it...however it will throw an exception
// with this message:
// Cannot save a foreign key association for the 'AgendaItem'
// relation because the target record has not been persisted
// to the server. To fix this, call saveChanges()
// on the data source for that record's model: AgendaItem
docsDs.createItem();
var docDraft = docsDs.item;
docDraft.DocTitle = doc.name;
docDraft.DocURL = doc.url;
docDraft.DriveID = doc.id;
});
// submit button click
agendaDraft.saveChanges();