2017-04-13 13 views
1

jenkinsとやり取りしてnode-jenkinsを使用するnode.jsアプリを作成します。jenkins.build.log()がjenkinsで拒否されました:build.log:forbidden

それはjenkins.job.getjenkins.build.getなどのAPIでうまく動作しますが、私はjenkins.build.logまたはjenkins.build.logStreamを使用しようとすると、それはエラーで失敗します:jenkins: build.log: forbidden

エラー応答の返されるメッセージはNo valid crumb was included in the requestです。

私は間違っていますか?

(私もこのためan issueを開いた)

我々はジェンキンスのバージョン2.7.1を使用します。

編集:私はPOSTを使用してhttp.requestと同じURL(/job‌​/MY_JOB/my_build_num‌​ber/logText/progress‌​iveText)を送信した場合、私は同じ応答を得るが、私はGETを使用する場合、私は適切にログを取得します。

+0

:私は単に私のjenkins初期化コードにcrumbIssuer: trueを追加する必要が? – Gntem

+0

@ Mr.Phoenixはい、返されたエラーには以下が含まれます: 'request.req2:{" auth ":" my_username:my_pass "、" hostname ":" my_host "、" port ":" my_port "、" path ": 「http:// my_username:my_pass @ my_host:my_port /」、「content-type」、「/ job/MY_JOB/my_build_number/logText/progressiveText」、「method」:「POST」、「headers」: : "application/x-www-form-urlencoded; charset = utf-8"、 "content-length":0}} ' – splintor

+0

この種類のエラーメッセージは、特定のヘッダーがあなたがJenkinsのGitHubリポジトリを見れば、> 2のバージョンのパッチが当てられています。クライアントとJenkinsの設定を再確認してください。あなたは、クライアントのGitHubリポジトリの解決策を見つけることをお勧めします。 – Gntem

答えて

0

node-jenkins投稿者silasの後にmy issueと答えたところ、問題が見つかりました。あなたは何とかジェンキンスに送信されているヘッダをログに記録することを試みることができる

jenkins = require('jenkins')({ baseUrl: 'http://admin:[email protected]:8080', crumbIssuer: true }); 
関連する問題