2015-06-30 46 views
2

我們需要定期運行構建配置,其中包括重新創建令牌/登錄等。我們希望將這些變量保存爲團隊城市作爲環境變量。我們隨後做的構建將希望看看這個環境變量存儲並根據需要在我們的配置中進行字符串替換。從Powershell將環境變量保存回Team City

我已經採取一看:

##teamcity[setParameter name='env.TEST' value='test'] 

但是從閱讀文檔,這只是用於相同的構建內通過構建步驟之間的變量。它實際上並沒有將變量保存回Team City。

有什麼辦法(最好從powershell腳本中)調用Team City並告訴它添加一個環境變量(或任何其他變量)。

回答

6

爲了將值保留回參數中,您必須調用REST API。

我使用PowerShell腳本,充當PowerShell 3+中的Invoke-RestMethod cmdlet的包裝,可以在構建步驟中重複使用以實現您想要的效果。

第1步:

腳本保存到一個PowerShell文件,並將其添加到您的源代碼控制rest-api-wrapper.ps1

第2步:

創建一個PowerShell生成步驟引用的腳本和通過以下參數,針對您的情況量身定製

%teamcity.serverUrl%/ httpAuth/app/REST /項目/ PROJECT_ID /參數/ PARAMETER_NAME

「用戶名」

「密碼」

「PUT」

「TheValueToSave」

enter image description here

更多細節在這裏找到 - TeamCity Documentation

希望這會有所幫助