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]

Reply via email to