0

私は、他の誰かが書いた Hudson/Jenkins プラグインに取り組む責任を与えられましたが、これは初めてです...

config.jelly ファイルの 1 つに、次のように始まる JavaScript コードがあります。

new Ajax.Request("../../descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters", {

ajax を使用して、指定された Java クラスの getParameters メソッドを呼び出そうとしていることはわかっていますが、これらの質問のいくつかに対する回答を得ることができれば、本当に感謝して
います。 "../"
2) "../../descriptorByName" の意味は何ですか? 「descriptorByName」はキーワードであり、フォルダーの場所を参照していないようです...
3)「new Ajax.Request」の説明とそのパラメーター、およびコンテキストから呼び出されることの意味はどこにありますかJenkins .jellyの?
4)私が解決しようとしている問題:このajax呼び出しが「すべて」ビューのジョブからトリガーされると、正常に動作します(Javaクラスのメソッドに到達します)が、これで新しいJenkinsビューを作成するとビュー内から上記の ajax 呼び出しをトリガーすると、ajax 呼び出しが失敗します。Java メソッドは実行されません。以下に示す応答が得られます。「すべて」ビューだけでなく、任意のビューからトリガーされたときに機能するように、ajax リクエスト URL「../../descr...」を指定するにはどうすればよいですか?


「SpecialView」という名前のビューでジョブを構成しているときに上記の ajax をトリガーしたときに得られる応答は次のとおりです。

<a href="" onclick="document.getElementById('valerr26').style.display='block';return false">ERROR</a><div id="valerr26" style="display:none"><html><body>
<h1>404 Not Found</h1>
<p>Stapler processed this HTTP request as follows, but couldn't find the resource to consume the request
<pre>
-> evaluate(&lt;hudson.model.Hudson@5ac3cc2d> :hudson.model.Hudson,"/view/SpecialView/descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters")
-> evaluate(((StaplerProxy)&lt;hudson.model.Hudson@5ac3cc2d>).getTarget(),"/view/SpecialView/descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters")
-> evaluate(&lt;hudson.model.Hudson@5ac3cc2d>.getView("SpecialView"),"/descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters")
-> evaluate(&lt;hudson.model.ListView@746cd6da> :hudson.model.ListView,"/descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters")
-> evaluate(&lt;hudson.model.ListView@746cd6da>.getDynamic("descriptorByName",...),"/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters")
            hudson.model.ListView@746cd6da.getDynamic("descriptorByName",...)==null. Back tracking.
<font color=red>-&gt; No matching rule was found on &lt;hudson.model.ListView@746cd6da&gt; for "/descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters"</font>
</pre>
<p>&lt;hudson.model.ListView@746cd6da&gt; has the following URL mappings, in the order of preference:<ol>
<li>
hudson.model.ListView.doAddJobToView(...) for url=/addJobToView/...
<li>
hudson.model.ListView.doRemoveJobFromView(...) for url=/removeJobFromView/...
<li>
hudson.model.ListView.doCreateItem(...) for url=/createItem/...
<li>
hudson.model.View.doRssAll(...) for url=/rssAll/...
<li>
hudson.model.View.doRssFailed(...) for url=/rssFailed/...
<li>
hudson.model.View.doDoDelete(...) for url=/doDelete/...
<li>
hudson.model.View.doConfigDotXml(...) for url=/config.xml/...
<li>
hudson.model.View.doConfigSubmit(...) for url=/configSubmit/...
<li>
hudson.model.View.doSubmitDescription(...) for url=/submitDescription/...
<li>
hudson.model.View.doRssLatest(...) for url=/rssLatest/...
<li>
TOKEN.groovy for url=/TOKEN
<li>
VIEW.jelly for url=/VIEW
<li>
hudson.model.Saveable.NOOP for url=/NOOP/...
<li>
hudson.model.View.LIST for url=/LIST/...
<li>
hudson.model.View.SORTER for url=/SORTER/...
<li>
hudson.model.View.PERMISSIONS for url=/PERMISSIONS/...
<li>
hudson.model.View.CREATE for url=/CREATE/...
<li>
hudson.model.View.DELETE for url=/DELETE/...
<li>
hudson.model.View.CONFIGURE for url=/CONFIGURE/...
<li>
hudson.model.View.READ for url=/READ/...
<li>
hudson.model.View.NEW_PRONOUN for url=/NEW_PRONOUN/...
<li>
hudson.model.Saveable.NOOP for url=/NOOP/...
<li>
hudson.model.ListView.getJobFilters() for url=/jobFilters/...
<li>
hudson.model.ListView.getIncludeRegex() for url=/includeRegex/...
<li>
hudson.model.ListView.getStatusFilter() for url=/statusFilter/...
<li>
hudson.model.ListView.getDefaultColumns() for url=/defaultColumns/...
<li>
hudson.model.ListView.getItems() for url=/items/...
<li>
hudson.model.ListView.getItems() for url=/items/...
<li>
hudson.model.ListView.getColumns() for url=/columns/...
<li>
hudson.model.ListView.getColumns() for url=/columns/...
<li>
hudson.model.View.getDescriptor() for url=/descriptor/...
<li>
hudson.model.View.getDescriptor() for url=/descriptor/...
<li>
hudson.model.View.getProperties() for url=/properties/...
<li>
hudson.model.View.getActions() for url=/actions/...
<li>
hudson.model.View.getOwner() for url=/owner/...
<li>
hudson.model.View.getDisplayName() for url=/displayName/...
<li>
hudson.model.View.getDescription() for url=/description/...
<li>
hudson.model.View.getUrl() for url=/url/...
<li>
hudson.model.View.getTimeline() for url=/timeline/...
<li>
hudson.model.View.getBuilds() for url=/builds/...
<li>
hudson.model.View.getOwnerItemGroup() for url=/ownerItemGroup/...
<li>
hudson.model.View.getOwnerPrimaryView() for url=/ownerPrimaryView/...
<li>
hudson.model.View.getOwnerViewActions() for url=/ownerViewActions/...
<li>
hudson.model.View.getAllProperties() for url=/allProperties/...
<li>
hudson.model.View.getNewPronoun() for url=/newPronoun/...
<li>
hudson.model.View.getQueueItems() for url=/queueItems/...
<li>
hudson.model.View.getPostConstructLandingPage() for url=/postConstructLandingPage/...
<li>
hudson.model.View.getItemCreatePermission() for url=/itemCreatePermission/...
<li>
hudson.model.View.getAbsoluteUrl() for url=/absoluteUrl/...
<li>
hudson.model.View.getAsynchPeople() for url=/asynchPeople/...
<li>
hudson.model.View.getPeople() for url=/people/...
<li>
hudson.model.View.getApi() for url=/api/...
<li>
hudson.model.View.getComputers() for url=/computers/...
<li>
hudson.model.View.getSearchUrl() for url=/searchUrl/...
<li>
hudson.model.View.getACL() for url=/aCL/...
<li>
hudson.model.View.getApplicablePropertyDescriptors() for url=/applicablePropertyDescriptors/...
<li>
hudson.model.View.getWidgets() for url=/widgets/...
<li>
hudson.model.View.getViewName() for url=/viewName/...
<li>
hudson.model.View.getApproximateQueueItemsQuickly() for url=/approximateQueueItemsQuickly/...
<li>
hudson.model.View.getViewUrl() for url=/viewUrl/...
<li>
hudson.model.View.getIndenter() for url=/indenter/...
<li>
hudson.model.AbstractModelObject.getSearchIndex() for url=/searchIndex/...
<li>
hudson.model.AbstractModelObject.getSearchName() for url=/searchName/...
<li>
hudson.model.AbstractModelObject.getSearch() for url=/search/...
<li>
java.lang.Object.getClass() for url=/class/...
<li>
hudson.model.View.getItem(String) for url=/item/TOKEN/...
<li>
hudson.model.View.getDynamic(String) for url=/dynamic/TOKEN/...
<li>
hudson.model.View.getJob(String) for url=/job/TOKEN/...
<li>
hudson.model.View.getDynamic(String,StaplerRequest,StaplerResponse) for url=/TOKEN/...
</ol>
</body></html>
</div>
4

1 に答える 1

0

私は自分の問題の解決策を見つけることができました-上記の質問(4)を試行錯誤しました。リクエスト URL を次のように変更します。

new Ajax.Request("descriptorByName/com.mycompany.jenkins.ScriptExecutionBuilder/getParameters", { 

現在、すべてのビューで機能していますが、その方法と理由はまだわかりません。上記の質問への回答をいただければ幸いです。

于 2014-05-22T08:35:53.553 に答える