jvgr019 opened a new issue, #9129: URL: https://github.com/apache/devlake/issues/9129
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/incubator-devlake/issues?q=is%3Aissue) and found no similar issues. ### What happened When trying to delete a Jenkins data scope that originates from a branch containing a / character in its name, the deletion fails because the data scope is stored with the branch name URL-encoded. For example, a branch named: feature/LOY-12394-accesspermission-front-users is registered as loyalty-core/feature%2FLOY-12394-accesspermission-front-users When attempting to remove the data scope, the connector does not correctly handle the encoded branch name, preventing the data scope from being deleted and showing "operation failed" into UI ### What do you expect to happen The Jenkins data scope should be removable regardless of whether the original branch name contains special characters such as / ### How to reproduce - Configure multibranch pipeline into jenkins Example: loyalty-core - The job should discover several branches almost one of them should contain symbol / Example: -- master -- develop -- feature/LOY-12394-accesspermission-front-users - Configure the Jenkins connector at devlake - Add data scope selecting job loyalty-core - Assign scope to project and collect data - Go to jenkins connection / details. Data scopes should be listed for every branch into job - Try to delete data scope for loyalty-core/feature%2FLOY-12394-accesspermission-front-users ### Anything else This is the error into log ``` devlake-1 | time="2026-09-10 14:24:10" level=error msg="HTTP 404 error\n\tcaused by: attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:148\n\t | [...repeated from below...]\n\tWraps: (2) *models.JenkinsJob not found (404)\n\tWraps: (3) attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).convertGormError\n\t | \t/app/impls/dalgorm/dalgorm.go:542\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).First\n\t | \t/app/impls/dalgorm/dalgorm.go:215\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:145\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*ModelApiHelper[...]).FindByPk\n\t | \t/app/helpers/pluginhelper/api/model_api_helper.go:100\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*D sScopeApiHelper[...]).Delete\n\t | \t/app/helpers/pluginhelper/api/ds_scope_api_helper.go:135\n\t | github.com/apache/devlake/plugins/jenkins/api.DeleteScope\n\t | \t/app/plugins/jenkins/api/scope_api.go:119\n\t | github.com/apache/devlake/server/api.registerPluginEndpoints.handlePluginCall.func1\n\t | \t/app/server/api/router.go:149\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.CSRFProtect.(*Service).CSRFProtect.func3\n\t | \t/app/server/api/auth/middleware.go:140\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.RequireAuth.(*Service).RequireAuth.func2\n\t | \t/app/server/api/auth/middleware.go:104\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | git hub.com/apache/devlake/server/api.OAuth2ProxyAuthentication.func1\n\t | \t/app/server/api/middlewares.go:115\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.OIDCAuthentication.(*Service).OIDCAuthentication.func1\n\t | \t/app/server/api/auth/middleware.go:61\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RequirePushAuthentication.func1\n\t | \t/app/server/api/middlewares.go:158\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RestAuthentication.func1\n\t | \t/app/server/api/middlewares.go:136\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/ gin.CustomRecoveryWithWriter.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.LoggerWithConfig.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620\n\t | github.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576\n\t | net/http.serverHandler.ServeHTTP\n\t | \t/usr/local/go/src/net/http/server.go:3311\n\t | net/http.(*conn).serve\n\t | \t/usr/local/go/src/net/http/server.go:2067\n\t | runtime.goexit\n\t | \t/usr/local/go/src/runtime/asm_amd64.s:1771\n\tWraps: (4) record not found (404)\n\tWraps: (5) re cord not found\n\tError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *errors.errorString" config-ui-1 | 10.89.1.1 - - [10/Sep/2026:14:24:10 +0000] "DELETE /api/plugins/jenkins/connections/1/scopes/loyalty-core/feature%2FLOY-12394-accesspermission-front-users?delete_data_only=false HTTP/1.1" 404 4019 "http://localhost:4000/connections/jenkins/1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36" "-" devlake-1 | time="2026-09-10 14:24:10" level=error msg="HTTP 404 error\n\tcaused by: attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:148\n\t | [...repeated from below...]\n\tWraps: (2) *models.JenkinsJob not found (404)\n\tWraps: (3) attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).convertGormError\n\t | \t/app/impls/dalgorm/dalgorm.go:542\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).First\n\t | \t/app/impls/dalgorm/dalgorm.go:215\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:145\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*ModelApiHelper[...]).FindByPk\n\t | \t/app/helpers/pluginhelper/api/model_api_helper.go:100\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*D sScopeApiHelper[...]).Delete\n\t | \t/app/helpers/pluginhelper/api/ds_scope_api_helper.go:135\n\t | github.com/apache/devlake/plugins/jenkins/api.DeleteScope\n\t | \t/app/plugins/jenkins/api/scope_api.go:119\n\t | github.com/apache/devlake/server/api.registerPluginEndpoints.handlePluginCall.func1\n\t | \t/app/server/api/router.go:149\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.CSRFProtect.(*Service).CSRFProtect.func3\n\t | \t/app/server/api/auth/middleware.go:140\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.RequireAuth.(*Service).RequireAuth.func2\n\t | \t/app/server/api/auth/middleware.go:104\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | git hub.com/apache/devlake/server/api.OAuth2ProxyAuthentication.func1\n\t | \t/app/server/api/middlewares.go:115\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.OIDCAuthentication.(*Service).OIDCAuthentication.func1\n\t | \t/app/server/api/auth/middleware.go:61\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RequirePushAuthentication.func1\n\t | \t/app/server/api/middlewares.go:158\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RestAuthentication.func1\n\t | \t/app/server/api/middlewares.go:136\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/ gin.CustomRecoveryWithWriter.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.LoggerWithConfig.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620\n\t | github.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576\n\t | net/http.serverHandler.ServeHTTP\n\t | \t/usr/local/go/src/net/http/server.go:3311\n\t | net/http.(*conn).serve\n\t | \t/usr/local/go/src/net/http/server.go:2067\n\t | runtime.goexit\n\t | \t/usr/local/go/src/runtime/asm_amd64.s:1771\n\tWraps: (4) record not found (404)\n\tWraps: (5) re cord not found\n\tError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *errors.errorString" devlake-1 | time="2026-09-10 14:24:10" level=error msg="HTTP 404 error\n\tcaused by: attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:148\n\t | [...repeated from below...]\n\tWraps: (2) *models.JenkinsJob not found (404)\n\tWraps: (3) attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).convertGormError\n\t | \t/app/impls/dalgorm/dalgorm.go:542\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).First\n\t | \t/app/impls/dalgorm/dalgorm.go:215\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:145\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*ModelApiHelper[...]).FindByPk\n\t | \t/app/helpers/pluginhelper/api/model_api_helper.go:100\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*D sScopeApiHelper[...]).Delete\n\t | \t/app/helpers/pluginhelper/api/ds_scope_api_helper.go:135\n\t | github.com/apache/devlake/plugins/jenkins/api.DeleteScope\n\t | \t/app/plugins/jenkins/api/scope_api.go:119\n\t | github.com/apache/devlake/server/api.registerPluginEndpoints.handlePluginCall.func1\n\t | \t/app/server/api/router.go:149\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.CSRFProtect.(*Service).CSRFProtect.func3\n\t | \t/app/server/api/auth/middleware.go:140\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.RequireAuth.(*Service).RequireAuth.func2\n\t | \t/app/server/api/auth/middleware.go:104\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | git hub.com/apache/devlake/server/api.OAuth2ProxyAuthentication.func1\n\t | \t/app/server/api/middlewares.go:115\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.OIDCAuthentication.(*Service).OIDCAuthentication.func1\n\t | \t/app/server/api/auth/middleware.go:61\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RequirePushAuthentication.func1\n\t | \t/app/server/api/middlewares.go:158\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RestAuthentication.func1\n\t | \t/app/server/api/middlewares.go:136\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/ gin.CustomRecoveryWithWriter.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.LoggerWithConfig.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620\n\t | github.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576\n\t | net/http.serverHandler.ServeHTTP\n\t | \t/usr/local/go/src/net/http/server.go:3311\n\t | net/http.(*conn).serve\n\t | \t/usr/local/go/src/net/http/server.go:2067\n\t | runtime.goexit\n\t | \t/usr/local/go/src/runtime/asm_amd64.s:1771\n\tWraps: (4) record not found (404)\n\tWraps: (5) re cord not found\n\tError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *errors.errorString" devlake-1 | [GIN] 2026/09/10 - 14:24:10 | 404 | 7.769236ms | 10.89.1.39 | DELETE "/plugins/jenkins/connections/1/scopes/loyalty-core/feature/LOY-12394-accesspermission-front-users?delete_data_only=false" devlake-1 | time="2026-09-10 14:24:10" level=error msg="HTTP 404 error\n\tcaused by: attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:148\n\t | [...repeated from below...]\n\tWraps: (2) *models.JenkinsJob not found (404)\n\tWraps: (3) attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).convertGormError\n\t | \t/app/impls/dalgorm/dalgorm.go:542\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).First\n\t | \t/app/impls/dalgorm/dalgorm.go:215\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:145\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*ModelApiHelper[...]).FindByPk\n\t | \t/app/helpers/pluginhelper/api/model_api_helper.go:100\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*D sScopeApiHelper[...]).Delete\n\t | \t/app/helpers/pluginhelper/api/ds_scope_api_helper.go:135\n\t | github.com/apache/devlake/plugins/jenkins/api.DeleteScope\n\t | \t/app/plugins/jenkins/api/scope_api.go:119\n\t | github.com/apache/devlake/server/api.registerPluginEndpoints.handlePluginCall.func1\n\t | \t/app/server/api/router.go:149\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.CSRFProtect.(*Service).CSRFProtect.func3\n\t | \t/app/server/api/auth/middleware.go:140\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.RequireAuth.(*Service).RequireAuth.func2\n\t | \t/app/server/api/auth/middleware.go:104\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | git hub.com/apache/devlake/server/api.OAuth2ProxyAuthentication.func1\n\t | \t/app/server/api/middlewares.go:115\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.OIDCAuthentication.(*Service).OIDCAuthentication.func1\n\t | \t/app/server/api/auth/middleware.go:61\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RequirePushAuthentication.func1\n\t | \t/app/server/api/middlewares.go:158\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RestAuthentication.func1\n\t | \t/app/server/api/middlewares.go:136\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/ gin.CustomRecoveryWithWriter.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.LoggerWithConfig.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620\n\t | github.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576\n\t | net/http.serverHandler.ServeHTTP\n\t | \t/usr/local/go/src/net/http/server.go:3311\n\t | net/http.(*conn).serve\n\t | \t/usr/local/go/src/net/http/server.go:2067\n\t | runtime.goexit\n\t | \t/usr/local/go/src/runtime/asm_amd64.s:1771\n\tWraps: (4) record not found (404)\n\tWraps: (5) re cord not found\n\tError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *errors.errorString" devlake-1 | time="2026-09-10 14:24:10" level=error msg="HTTP 404 error\n\tcaused by: attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:148\n\t | [...repeated from below...]\n\tWraps: (2) *models.JenkinsJob not found (404)\n\tWraps: (3) attached stack trace\n\t -- stack trace:\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).convertGormError\n\t | \t/app/impls/dalgorm/dalgorm.go:542\n\t | github.com/apache/devlake/impls/dalgorm.(*Dalgorm).First\n\t | \t/app/impls/dalgorm/dalgorm.go:215\n\t | github.com/apache/devlake/helpers/srvhelper.(*ModelSrvHelper[...]).FindByPk\n\t | \t/app/helpers/srvhelper/model_service_helper.go:145\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*ModelApiHelper[...]).FindByPk\n\t | \t/app/helpers/pluginhelper/api/model_api_helper.go:100\n\t | github.com/apache/devlake/helpers/pluginhelper/api.(*D sScopeApiHelper[...]).Delete\n\t | \t/app/helpers/pluginhelper/api/ds_scope_api_helper.go:135\n\t | github.com/apache/devlake/plugins/jenkins/api.DeleteScope\n\t | \t/app/plugins/jenkins/api/scope_api.go:119\n\t | github.com/apache/devlake/server/api.registerPluginEndpoints.handlePluginCall.func1\n\t | \t/app/server/api/router.go:149\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.CSRFProtect.(*Service).CSRFProtect.func3\n\t | \t/app/server/api/auth/middleware.go:140\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.RequireAuth.(*Service).RequireAuth.func2\n\t | \t/app/server/api/auth/middleware.go:104\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | git hub.com/apache/devlake/server/api.OAuth2ProxyAuthentication.func1\n\t | \t/app/server/api/middlewares.go:115\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.CreateApiServer.OIDCAuthentication.(*Service).OIDCAuthentication.func1\n\t | \t/app/server/api/auth/middleware.go:61\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RequirePushAuthentication.func1\n\t | \t/app/server/api/middlewares.go:158\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/apache/devlake/server/api.RestAuthentication.func1\n\t | \t/app/server/api/middlewares.go:136\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/ gin.CustomRecoveryWithWriter.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:102\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.LoggerWithConfig.func1\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:240\n\t | github.com/gin-gonic/gin.(*Context).Next\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:174\n\t | github.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:620\n\t | github.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t | \t/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:576\n\t | net/http.serverHandler.ServeHTTP\n\t | \t/usr/local/go/src/net/http/server.go:3311\n\t | net/http.(*conn).serve\n\t | \t/usr/local/go/src/net/http/server.go:2067\n\t | runtime.goexit\n\t | \t/usr/local/go/src/runtime/asm_amd64.s:1771\n\tWraps: (4) record not found (404)\n\tWraps: (5) re cord not found\n\tError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *errors.errorString" devlake-1 | [GIN] 2026/09/10 - 14:24:10 | 404 | 7.769236ms | 10.89.1.39 | DELETE "/plugins/jenkins/connections/1/scopes/loyalty-core/feature/LOY-12394-accesspermission-front-users?delete_data_only=false" devlake-1 | [GIN] 2026/09/10 - 14:24:10 | 404 | 7.769236ms | 10.89.1.39 | DELETE "/plugins/jenkins/connections/1/scopes/loyalty-core/feature/LOY-12394-accesspermission-front-users?delete_data_only=false" devlake-1 | [GIN] 2026/09/10 - 14:24:10 | 404 | 7.769236ms | 10.89.1.39 | DELETE "/plugins/jenkins/connections/1/scopes/loyalty-core/feature/LOY-12394-accesspermission-front-users?delete_data_only=false" devlake-1 | [GIN] 2026/09/10 - 14:24:10 | 404 | 7.769236ms | 10.89.1.39 | DELETE "/plugins/jenkins/connections/1/scopes/loyalty-core/feature/LOY-12394-accesspermission-front-users?delete_data_only=false" ``` ### Version v1.0.3-beta17@8fe26f4 ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
