TeamCityに新しいビルドステップを作成しようとしています。ビルドラントを作成する必要があるので、現在自分で作成しようとしています。
ServerおよびAgentsideコマンドで新しいMavenプロジェクト>https://confluence.jetbrains.com/display/TCD10/Developing+Plugins+Using+Maven <を作成しました。
私の問題を今すぐに:私は新しいビルドステップを作成したいと思うので、私はTeamCityからサンプルプラグインを調べました。 FxCopランナーは、どのように動作するのか理解しようとしました。
サーバーパッケージにeditParams.jspとviewParams.jspを作成しました。また、CustomRunType.javaとCustomRunTypePropertieProcessor.javaも作成しました。
ビルドステップの名前はTCに表示されますが、悪い点はカスタムビルドステップを選択しても何も起こらないということです。つまり、テキストフィールドが表示されていないということです。
TeamCity BuildRunner Plugin
editParams.jsp:
<%@ taglib prefix="props" tagdir="/WEB-INF/tags/props" %> <br>
<%@ taglib prefix="forms" tagdir="/WEB-INF/tags/forms" %><br>
<%@ taglib prefix="l" tagdir="/WEB-INF/tags/layout" %><br>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="propertiesBean" scope="request" type="jetbrains.buildServer.controllers.BasePropertiesBean"/>
<l:settingsGroup title="myTitle">
<tr>
<th><label for="Name" title="Name">Name: <span class="mandatoryAsterix" title="Mandatory field">*</span></label></th>
<td>
<props:textProperty name="Name" className="longField" />
<span class="error" id="error_Name"></span>
<span class="smallNote">Enter the Name.</span>
</td>
</tr>
</l:settingsGroup>
viewParams.jsp:
<!-- Pretty sure that here is the mistake, but no idea how to fix-->
<jsp:useBean id="propertiesBean" scope="request" type="jetbrains.buildServer.controllers.BasePropertiesBean"/>
CustomRunTypeProppertyProcessor.java:
import jetbrains.buildServer.serverSide.InvalidProperty;
import jetbrains.buildServer.serverSide.PropertiesProcessor;
import jetbrains.buildServer.util.PropertiesUtil;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Vector;
public class CustomRunTypePropertiesProcessor implements PropertiesProcessor {
@Override
public Collection<InvalidProperty> process(Map<String, String> map) {
List<InvalidProperty> result = new Vector();
String name = (String)map.get("Name");
if (PropertiesUtil.isEmptyOrNull(name)) {
result.add(new InvalidProperty("Name", "Name must be specified."));
}
return result;
}
}
CustomRunType.java:
誰かが私が間違っていたことや忘れてしまったことを知っているのか、それともそれを解決するのが最善ののか、これについての簡単なサンプルがあるのだろうかと思いました。
読んでいただきありがとうございます!
これはあなたのためです:-) –