Atlassian のチュートリアル - カスタム メッセージ (メール) ハンドラー for JIRAに従っています。
最後から 2 番目のステップでレンガの壁にぶつかりました。
3) src/main/java/com/example/plugins/tutorial/jira/mailhandlerdemo ディレクトリに EditDemoHandlerDetailsWebAction.java という名前の新しいファイルを作成し、次の内容を指定します。
package com.example.plugins.tutorial.jira.mailhandlerdemo;
import com.atlassian.configurable.ObjectConfigurationException;
import com.atlassian.jira.plugins.mail.webwork.AbstractEditHandlerDetailsWebAction;
import com.atlassian.jira.service.JiraServiceContainer;
import com.atlassian.jira.service.services.file.AbstractMessageHandlingService;
import com.atlassian.jira.service.util.ServiceUtils;
import com.atlassian.jira.util.collect.MapBuilder;
import com.atlassian.plugin.PluginAccessor;
import java.util.Map;
public class EditDemoHandlerDetailsWebAction extends AbstractEditHandlerDetailsWebAction {
private final IssueKeyValidator issueKeyValidator;
public EditDemoHandlerDetailsWebAction(PluginAccessor pluginAccessor, IssueKeyValidator issueKeyValidator) {
super(pluginAccessor);
this.issueKeyValidator = issueKeyValidator;
}
private String issueKey;
public String getIssueKey() {
return issueKey;
}
public void setIssueKey(String issueKey) {
this.issueKey = issueKey;
}
// this method is called to let us populate our variables (or action state)
// with current handler settings managed by associated service (file or mail).
@Override
protected void copyServiceSettings(JiraServiceContainer jiraServiceContainer) throws ObjectConfigurationException {
final String params = jiraServiceContainer.getProperty(AbstractMessageHandlingService.KEY_HANDLER_PARAMS);
final Map<String, String> parameterMap = ServiceUtils.getParameterMap(params);
issueKey = parameterMap.get(DemoHandler.KEY_ISSUE_KEY);
}
@Override
protected Map<String, String> getHandlerParams() {
return MapBuilder.build(DemoHandler.KEY_ISSUE_KEY, issueKey);
}
@Override
protected void doValidation() {
if (configuration == null) {
return; // short-circuit in case we lost session, goes directly to doExecute which redirects user
}
super.doValidation();
issueKeyValidator.validateIssue(issueKey, new WebWorkErrorCollector());
}
}
このクラスは AbstractEditHandlerDetailsWebAction を継承しているため、パラメーターの検証に専念できます。ハンドラーの追加、編集、およびキャンセルのライフサイクル自体を処理します。
このチュートリアルは、7.2 までの最新バージョンを含む JIRA 5.0+ をサポートすることになっています。
JIRA 7.1.8 を使用しています
私の問題は、mavenが依存関係を見つけることができないことです
import com.atlassian.jira.plugins.mail.webwork.AbstractEditHandlerDetailsWebAction;
掘り下げたトンの後、 JIRA 5.1.8までの仕様に存在することがわかりましたcom.atlassian.jira.plugins.mail
ただし、5.2-m03以降の仕様では、このフォルダーが存在しないため、maven はそれを見つけることができません。
さらに、これらのクラスが廃止されたことを示す情報も、JIRA のバージョンでこのコードを何に置き換える必要があるかについての提案も見つかりません。
com.atlassian.jira.plugins.mail.webwork.AbstractEditHandlerDetailsWebAction;
では、上記のクラスで廃止されたように見えるものの代わりに何を使用できますか?