Jenkins 无法保存新项目或无法更新现有项目的配置

问题描述

我在 Windows 10 上使用 Jenkins 2.286 版本。 当在存储库上进行任何 pr 合并时,我需要使用 bitbucket 钩子来触发构建。

我已经安装了必要的插件来通过 jenkins 与 bitbucket 通信。

当我尝试不使用“使用 BitBucket 推送和拉取请求插件构建”部分时,提交操作成功。

但是,如果我根据需要单击“使用 BitBucket 推送和拉取请求插件构建”复选框,并且 按照文档设置“使用 BitBucket 推送和拉取请求插件构建”触发器,我无法提交配置表单。错误信息是

JSONObject["io-jenkins-plugins-bitbucketpushandpullrequest-BitBucketPPRTrigger"] 不是 JSONObject。

所有插件都是最新版本。

如果有人能帮助解决这个问题,我将不胜感激。

这是在配置页面点击保存/应用按钮时自动生成的帖子数据;

{
   "description":"Continuous integration for My.Simple.Project solution.","properties":{
      "stapler-class-bag":"true","hudson-model-ParametersDefinitionProperty":{
         "specified":false
      },"jenkins-model-BuildDiscarderProperty":{
         "specified":true,"":"0","strategy":{
            "daysToKeepStr":"","numToKeepStr":"100","artifactDaysToKeepStr":"","artifactNumToKeepStr":"","stapler-class":"hudson.tasks.LogRotator","$class":"hudson.tasks.LogRotator"
         }
      },"com-coravy-hudson-plugins-github-GithubProjectProperty":{
         
      },"jenkins-branch-RateLimitBranchProperty$JobPropertyImpl":{
         
      }
   },"disable":false,"concurrentBuild":false,"hasCustomQuietPeriod":false,"quiet_period":"5","hasCustomScmCheckoutRetryCount":false,"scmCheckoutRetryCount":"0","blockBuildWhenUpstreamBuilding":false,"blockBuildWhenDownstreamBuilding":false,"hasCustomWorkspace":false,"customWorkspace":"","displayNameOrNull":"","scm":{
      "value":"3","stapler-class":"hudson.plugins.git.GitSCM","$class":"hudson.plugins.git.GitSCM","userRemoteConfigs":{
         "url":"https://bitbucket.org/sonerpyci/My.Simple.Project.git","includeUser":"false","credentialsId":"103814c9-b808-4a00-8d4f-4388f05b6774","name":"","refspec":""
      },"branches":{
         "name":"development"
      },"":"auto"
   },"hudson-plugins-tfs-TeamPRPushTrigger":false,"jobContext":"Jenkins PR build","targetBranches":"*/master","io-jenkins-plugins-bitbucketpushandpullrequest-BitBucketPPRTrigger":true,"triggers":{
      "":"5","actionFilter":{
         "allowedBranches":"development","isToApprove":false,"stapler-class":"io.jenkins.plugins.bitbucketpushandpullrequest.filter.pullrequest.cloud.BitBucketPPRPullRequestMergedActionFilter","$class":"io.jenkins.plugins.bitbucketpushandpullrequest.filter.pullrequest.cloud.BitBucketPPRPullRequestMergedActionFilter"
      },"stapler-class":"io.jenkins.plugins.bitbucketpushandpullrequest.filter.pullrequest.cloud.BitBucketPPRPullRequestTriggerFilter","$class":"io.jenkins.plugins.bitbucketpushandpullrequest.filter.pullrequest.cloud.BitBucketPPRPullRequestTriggerFilter"
   },"com-cloudbees-jenkins-GitHubPushTrigger":false,"hudson-triggers-SCMTrigger":false,"scmpoll_spec":"","ignorePostCommitHooks":false,"hudson-plugins-ws_cleanup-PreBuildCleanup":false,"deleteDirs":false,"cleanupParameter":"","externalDelete":"","disableDeferredWipeout":false,"org-jenkinsci-plugins-credentialsbinding-impl-SecretBuildWrapper":false,"hudson-tasks-AntWrapper":false,"builder":[
      {
         "command":"\"C:\\Program Files\\dotnet\\dotnet\" restore --configfile \"%WORKSPACE%\\nuget.config\"","unstableReturn":"","stapler-class":"hudson.tasks.BatchFile","$class":"hudson.tasks.BatchFile"
      },{
         "command":"\"C:\\Program Files\\dotnet\\dotnet\" build -c Release My.Simple.Project.sln\n",{
         "command":"REM Running unit tests...\n\nREM \"C:\\Program Files\\dotnet\\dotnet\" test -c Release My.Simple.Project.Engine.Tests\\My.Simple.Project.Engine.Tests.csproj && \"C:\\Program Files\\dotnet\\dotnet\" test -c Release My.Simple.Project.Public.Tests\\My.Simple.Project.Public.Tests.csproj && \"C:\\Program Files\\dotnet\\dotnet\" test -c Release My.Simple.Project.Services.Tests\\My.Simple.Project.Services.Tests.csproj",{
         "command":"\"C:\\Program Files\\dotnet\\dotnet\" publish -c Release My.Simple.Project.Web\\My.Simple.Project.Web.csproj",{
         "command":"SET APP_NAME=MySimpleProject\nSET PROJECT_NAME=My.Simple.Project.Web\nSET SERVER=top_secret_IP\nSET USERNAME=top_secret_username\nSET PASSWORD=top_secret_password\nSET ASPNETCORE_ENVIRONMENT=development\n\n\"C:\\Python27\\python.exe\" \"%WORKSPACE%\\%PROJECT_NAME%\\deploy2iis.py\" --source-root=\"%WORKSPACE%\\%PROJECT_NAME%\" --source-publish=\"bin\\Release\\netcoreapp2.1\\publish\" --app-name=%APP_NAME% --server=%SERVER% --username=%USERNAME% --password=%PASSWORD% --environment=%ASPNETCORE_ENVIRONMENT%",{
         "command":"REM Running smoke tests...\n\n\"C:\\Program Files\\dotnet\\dotnet\" test -c Release My.Simple.Project.Web.SmokeTests\\My.Simple.Project.Web.SmokeTests.csproj","$class":"hudson.tasks.BatchFile"
      }
   ],"publisher":{
      "startNotification":false,"notifySuccess":true,"notifyAborted":false,"notifyNotBuilt":false,"notifyUnstable":false,"notifyRegression":false,"notifyEveryFailure":false,"notifyBackToNormal":true,"notifyFailure":true,"notifyRepeatedFailure":true,"includeTestSummary":false,"includeFailedTests":false,"includeCustomMessage":false,"customMessage":"","customMessageSuccess":"","customMessageAborted":"","customMessageNotBuilt":"","customMessageUnstable":"","customMessageFailure":"","commitInfoChoice":"AUTHORS_AND_TITLES","uploadFiles":false,"artifactIncludes":"","teamDomain":"","baseUrl":"","tokenCredentialId":"","authToken":"","botUser":false,"iconEmoji":"","username":"","room":"#build","stapler-class":"jenkins.plugins.slack.SlackNotifier","$class":"jenkins.plugins.slack.SlackNotifier"
   },"core:apply":"true","Jenkins-Crumb":"f6ef199fb949a3cc69b1c7a4044cecfef28a553599167163909a77f304bde0a5"
}

这里是完整的错误日志;

net.sf.json.JSONException: JSONObject["io-jenkins-plugins-bitbucketpushandpullrequest-BitBucketPPRTrigger"] is not a JSONObject.
    at net.sf.json.JSONObject.getJSONObject(JSONObject.java:2006)
    at hudson.model.AbstractProject.buildDescribable(AbstractProject.java:1822)
    at hudson.model.AbstractProject.submit(AbstractProject.java:1800)
    at hudson.model.Project.submit(Project.java:225)
    at hudson.model.Job.doConfigSubmit(Job.java:1335)
    at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:771)
    at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
    at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
    at org.kohsuke.stapler.SelectionInterceptedFunction$Adapter.invoke(SelectionInterceptedFunction.java:36)
    at org.kohsuke.stapler.verb.HttpVerbInterceptor.invoke(HttpVerbInterceptor.java:48)
    at org.kohsuke.stapler.SelectionInterceptedFunction.bindAndInvoke(SelectionInterceptedFunction.java:26)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
    at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
    at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
    at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
    at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
    at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
    at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:153)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:92)
    at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)
    at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
    at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62)
    at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:97)
    at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:109)
    at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36)
    at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
    at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:516)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:279)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
    at java.lang.Thread.run(Unknown Source)

最后是我的配置截图;

Configuration_Step

如果我单击“应用”或“保存”按钮,我会得到以下结果。

Error_Short

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...