Запросы сшивателя Jenkins не выполняются без действительной крошки - PullRequest
5 голосов
/ 11 июля 2019

Я работаю над плагином Jenkins, и теперь я застрял в точке, где я пытаюсь получить возвращаемое значение метода, как описано здесь .

Iпросто хочу вызвать этот метод kotlin:

@JavaScriptMethod
fun getMonitoredJobsAsJSON(): JSONArray = toJSON(getObjectMapper().writeValueAsString(getMonitoredJobs())) as JSONArray

Из сценария jelly, используя это:

<script>
  var board = <st:bind value="${it}"/>

  board.getMonitoredJobsAsJSON(function(data) {
   //
  })
</script>

Это на самом деле работает, когда я отключаю защиту CSRF на сервере Jenkins, но я, очевидно, неЯ не хочу этого делать.С включенной защитой CSRF я всегда получаю ошибку 403:

POST http://localhost:8080/$stapler/bound/36dc05fc-c12d-4182-a008-60bcf5c49307/getMonitoredJobsAsJSON 403 (No valid crumb was included in the request)

Я знаю, как извлечь крошки из конечной точки crumbIssuer для взаимодействия с API отдыха Jenkins, но я обнаружил, чтонет ресурсов о том, как заставить его работать для запросов сшивателя в плагинах.

Кроме того, когда я проверяю запросы, на самом деле в запросе установлен заголовок crumb: enter image description here

Заранее спасибо за любую помощь.

...