मैं टीमसिटी में पावरहेल का उपयोग करके मेटाडेटा फ़ाइल उत्पन्न करने के लिए मेटा-धावक बनाने की कोशिश कर रहा था और मैं सोच रहा था कि अलग-अलग वीसीएस मार्गों पर फिर से प्रयास करने का कोई तरीका है या नहीं?टीमसिटी - शक्तियों के साथ vcs जड़ें
मेरे कोड:
$fileName = "metadata.json"
$vcsArray = @()
for ($i = 0; $i -le 5; $i++)
{
$vcsObject= @{
"VCSNumber"="%build.vcs.number.Proj_App_TcTestApp%"
}
$vcsArray += $vcsObject
}
$content = @{
"TeamCityBuildLogUrl" = "http://teamcity.hps.com/viewLog.html?buildId=%teamcity.build.id%&tab=buildResultsDiv&buildTypeId=%system.teamcity.buildType.id%";
"TeamCityProjectName" = "%system.teamcity.projectName%";
"TeamCityBuildNumber" = "%system.build.number%";
"BuildDateGenerated" = (Get-Date).ToString();
"TeamCityExecutionAgentName" = "%teamcity.agent.name%";
"VCSes" = $vcsArray
}
}
$content = $content | Add-Member @{"VCS Version2" = "testValue"} -PassThru # How to add more members dynamically.
$content = ConvertTo-JSON $content
New-Item $fileName -type file -force -value "// Metadata file generated by TeamCity`n"
Add-Content $fileName $content
cat $fileName # Test afterwards
जब मैं एक और जड़ जोड़ने के लिए, जड़ों के नाम अंत पहचानकर्ता बनने, जो यह कठिन बना देता है उन पर पुनरावृति करने के बाद से मैं तकनीकी रूप से के नाम पता नहीं है जड़ों।
यहाँ एक उदाहरण यूज-केस है: मैं दो VCS जड़ें:
%build.vcs.number.Proj_App_TcTestFW%
%build.vcs.number.Proj_App_TcTestApp%
आदर्श रूप में, मैं बहुत की तरह उन के माध्यम से पुनरावृति करना चाहते हैं:
$vcsArray = @()
foreach ($vcsRoot in vcsRoots)
{
[email protected]{
"VCSName"= $vcsRoot;
"VCSNumber"= "%build.vcs.number." + $vcsRoot%
}
$vcsArray += $vcsObject
}
लेकिन यह है कि मैं लगता है मेरी लिपि में नामों को हार्डकोड करना है, इसलिए मैं वर्तमान में एक नुकसान में हूं।
क्या टीमसिटी वीसीएस मार्गों को इस तरह से उजागर करता है कि मैं उन पर पुन: प्रयास कर सकता हूं?
धन्यवाद एलेक्स