nuget-server/resources/buildServerResources/publish/editPublish.jsp (95 lines of code) (raw):
<%@ taglib prefix="forms" tagdir="/WEB-INF/tags/forms" %>
<%@ taglib prefix="props" tagdir="/WEB-INF/tags/props" %>
<%@ taglib prefix="l" tagdir="/WEB-INF/tags/layout" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="bs" tagdir="/WEB-INF/tags" %>
<jsp:useBean id="ib" class="jetbrains.buildServer.nuget.server.runner.publish.PublishBean" scope="request"/>
<jsp:include page="/tools/editToolUsage.html?toolType=${ib.nugetToolTypeName}&versionParameterName=${ib.nuGetPathKey}&class=longField"/>
<script type="text/javascript">
appendPackageToUpload = function(packageFile) {
var textarea = $j(BS.Util.escapeId('${ib.nuGetPublishFilesKey}'));
var val = textarea.text();
if (val.length > 0) {
var lines = val.split("\n");
lines.push(packageFile);
textarea.text(lines.join("\n"));
} else {
textarea.text(packageFile);
}
};
BS.NugetParametersForm = {
getFeedUrlQueryString: function () {
var parameters = {
apiVersions: "v2;v3"
};
var search = window.location.search.substring(1).split('&');
search.forEach(function (value) {
var buildTypeMatch = value.match(/id=buildType:(.*)/);
if (buildTypeMatch) {
parameters["buildType"] = buildTypeMatch[1]
}
var templateMatch = value.match(/id=template:(.*)/);
if (templateMatch) {
parameters["template"] = templateMatch[1]
}
});
return Object.keys(parameters).reduce(function (previous, key) {
if (previous) {
previous += "&";
}
return previous + key + "=" + parameters[key];
}, "");
}
}
</script>
<tr>
<th>Packages<l:star/>:</th>
<td>
<props:multilineProperty name="${ib.nuGetPublishFilesKey}" linkTitle="Package files"
cols="60" rows="5"
expanded="${true}">
<jsp:attribute name="afterTextField"><bs:vcsTree callback="appendPackageToUpload" treeId="${ib.nuGetPublishFilesKey}"/></jsp:attribute>
</props:multilineProperty>
<span class="smallNote">A newline-separated list of NuGet package files (.nupkg) to push to the NuGet feed. Wildcards are supported.</span>
<span class="error" id="error_${ib.nuGetPublishFilesKey}"></span>
</td>
</tr>
<tr>
<th>API key:</th>
<td>
<props:passwordProperty name="${ib.apiKey}" className="longField"/>
<span class="smallNote">
Specify the API key to access a NuGet packages feed.<br />
For built-in TeamCity NuGet server, specify
<em><c:out value="${ib.nuGetFeedApiKeyReference}"/></em>
</span>
<span class="error" id="error_${ib.apiKey}"></span>
</td>
</tr>
<tr class="advancedSetting">
<th>Package source:</th>
<td>
<props:textProperty name="${ib.nuGetSourceKey}" className="longField"/>
<button id="queryString" style="display: none"></button>
<bs:projectData type="NuGetFeedUrls" sourceFieldId="queryString" selectionMode="single"
targetFieldId="${ib.nuGetSourceKey}" popupTitle="Select TeamCity NuGet feed" />
<span class="smallNote">
Specify the NuGet packages feed URL to push packages to. Leave blank to let NuGet decide what package repository to use.<br />
To use a TeamCity NuGet feed<bs:help file="Using+TeamCity+as+NuGet+Feed"/>, specify the URL from the NuGet feed project settings page.
</span>
<span class="error" id="error_${ib.nuGetSourceKey}"></span>
</td>
</tr>
<tr class="advancedSetting">
<th><label for="${ib.pushCustomCommandline}">Command line parameters:</label></th>
<td>
<props:textProperty name="${ib.pushCustomCommandline}" className="longField" expandable="true"/>
<span class="smallNote">Enter additional parameters to use when calling <a href="https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push">nuget push</a> command</span>
<span id="error_${ib.pushCustomCommandline}" class="error"></span>
</td>
</tr>
<script type="text/javascript">
$j(document).ready(function() {
$('queryString').value = encodeURIComponent(BS.NugetParametersForm.getFeedUrlQueryString());
});
</script>