2017-07-26 10 views
1

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:

誰かが私が間違っていたことや忘れてしまったことを知っているのか、それともそれを解決するのが最善ののか、これについての簡単なサンプルがあるのだろうかと思いました。

読んでいただきありがとうございます!

答えて

0

通常、これは、editParams.jspおよびviewParams.jspへのパスが正しくない場合に発生します。 ように試してくださいthis

プライベート最終PluginDescriptor myPluginDescriptor;

public CostumRunType(final RunTypeRegistry runTypeRegistry, final 
PluginDescriptor pluginDescriptor) { 
    myPluginDescriptor = pluginDescriptor; 
    runTypeRegistry.registerRunType(this); 
} 

@Override 
public String getEditRunnerParamsJspFilePath() { 
    return myPluginDescriptor.getPluginResourcesPath("editRunParams.jsp"); 
} 

@Override 
public String getViewRunnerParamsJspFilePath() { 
    return myPluginDescriptor.getPluginResourcesPath("viewRunParams.jsp"); 
} 
+0

これはあなたのためです:-) –