GoSimplicity commented on issue #8563: URL: https://github.com/apache/incubator-devlake/issues/8563#issuecomment-3375912638
> [@klesh](https://github.com/klesh) I'm able to reproduce the issue on the main branch HEAD - [17837c0](https://github.com/apache/incubator-devlake/commit/17837c04ba8f9872ac2d3424b1a84138052e6a12).我能够在主分支 HEAD - 上重现该问题。 > > ``` > attached stack trace -- stack trace: | github.com/apache/incubator-devlake/server/services.runPipeline | /app/server/services/pipeline_runner.go:79 | [...repeated from below...] Wraps: (2) Error running pipeline 45. Wraps: (3) attached stack trace -- stack trace: | github.com/apache/incubator-devlake/server/services.RunTasksStandalone | /app/server/services/task.go:217 | github.com/apache/incubator-devlake/server/services.(*pipelineRunner).runPipelineStandalone.func1 | /app/server/services/pipeline_runner.go:42 | github.com/apache/incubator-devlake/core/runner.runPipelineTasks | /app/core/runner/run_pipeline.go:90 | github.com/apache/incubator-devlake/core/runner.RunPipeline | /app/core/runner/run_pipeline.go:54 | github.com/apache/incubator-devlake/server/services.(*pipelineRunner).runPipelineStandalone | /app/server/services/pipeline_runner.go:38 | github.com/apache/incubator-devlake/server/services.runPipeline | /app/server/services/pipeline_runner.go:76 | github.com/apache/i ncubator-devlake/server/services.RunPipelineInQueue.func1 | /app/server/services/pipeline.go:360 | runtime.goexit | /usr/local/go/src/runtime/asm_arm64.s:1172 Wraps: (4) attached stack trace | -- stack trace: | | github.com/apache/incubator-devlake/server/services.RunTasksStandalone.func1 | | /app/server/services/task.go:189 | Wraps: (2) Error running task 640. | Wraps: (3) attached stack trace | -- stack trace: | | github.com/apache/incubator-devlake/core/runner.RunPluginSubTasks | | /app/core/runner/run_task.go:333 | | [...repeated from below...] | Wraps: (4) subtask collectEpics ended unexpectedly | Wraps: (5) attached stack trace | -- stack trace: | | github.com/apache/incubator-devlake/helpers/pluginhelper/api.(*WorkerScheduler).WaitAsync | | /app/helpers/pluginhelper/api/worker_scheduler.go:173 | | github.com/apache/incubator-devlake/helpers/pluginhelper/api.(*ApiCollector).Execute | | /app/helpers/pluginhelper/api/api_collector.go:206 | | github.com/apache/incubator-devlake/h elpers/pluginhelper/api.(*StatefulApiCollector).Execute | | /app/helpers/pluginhelper/api/api_collector_stateful.go:97 | | github.com/apache/incubator-devlake/plugins/jira/tasks.CollectEpics | | /app/plugins/jira/tasks/epic_collector.go:126 | | github.com/apache/incubator-devlake/core/runner.runSubtask | | /app/core/runner/run_task.go:425 | | github.com/apache/incubator-devlake/core/runner.RunPluginSubTasks | | /app/core/runner/run_task.go:330 | | github.com/apache/incubator-devlake/core/runner.RunPluginTask | | /app/core/runner/run_task.go:165 | | github.com/apache/incubator-devlake/core/runner.RunTask | | /app/core/runner/run_task.go:139 | | github.com/apache/incubator-devlake/server/services.runTaskStandalone | | /app/server/services/task_runner.go:114 | | github.com/apache/incubator-devlake/server/services.RunTasksStandalone.func1 | | /app/server/services/task.go:187 | | runtime.goexit | | /usr/local/go/src/runtime/asm_arm64.s:1172 | Wraps: (6) Retry exceeded 3 times calling api /2/search. The last error was: Http DoAsync error calling [method:GET path:api/2/search query:map[expand:[changelog] jql:[issue in (C360-127,C360-126,C360-124,C360-1606,C360-129,C360-718,C360-135,C360-3152,C360-2732,C360-3990,C360-4693,C360-6891,C360-680,C360-13378,C360-16656,C360-17307,C360-4560,C360-25086,C360-23304,C360-722,C360-19380,C360-29081,C360-30243,C360-31610) and updated >= '2025/04/07 05:30' ORDER BY created ASC] maxResults:[100] startAt:[0]]]. Response: {"errorMessages":["The requested API has been removed. Please migrate to the /rest/api/3/search/jql API. A full migration guideline is available at https://developer.atlassian.com/changelog/#CHANGE-2046"],"errors":{}} (410) | Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.withPrefix (5) *withstack.withStack (6) *errutil.leafError Error types: (1) *withstack.withStack (2) *errutil.withPrefix (3) *withstack.withStack (4) *errutil.leafError > ``` > > * Jira Cloud instance (e.g., `https://company.atlassian.net`)Jira Cloud 实例(例如 `https://company.atlassian.net`) > * DevLake running on commit **[17837c0](https://github.com/apache/incubator-devlake/commit/17837c04ba8f9872ac2d3424b1a84138052e6a12)** (latest main branch as of Oct 7, 2025)DevLake 在提交时运行(截至 2025 年 10 月 7 日的最新主分支) > * **Affected Task**: `collectEpics` (and potentially other collectors)**受影响的任务 **:`collectEpics`(以及可能的其他收集器) > > curl -s "https://company.atlassian.net/rest/api/2/serverInfo" | jq '.deploymentType' > # Output: "Cloud" > **Code Contains Fix (from PR [#8547](https://github.com/apache/incubator-devlake/pull/8547)):代码包含修复(来自 PR [#8547](https://github.com/apache/incubator-devlake/pull/8547) ):** The file `backend/plugins/jira/tasks/epic_collector.go` (lines 86-92) contains logic to check deployment type:该文件 `backend/plugins/jira/tasks/epic_collector.go` (第 86-92 行)包含用于检查部署类型的逻辑: > > // Choose API endpoint based on JIRA deployment type > if data.JiraServerInfo.DeploymentType == models.DeploymentServer { > logger.Info("Using api/2/search for JIRA Server") > err = setupApiV2Collector(apiCollector, data, epicIterator, jql) > } else { > logger.Info("Using api/3/search/jql for JIRA Cloud") > err = setupApiV3Collector(apiCollector, data, epicIterator, jql) > } Thanks for reporting! Atlassian removed the v2 API endpoint, and DevLake's current logic incorrectly uses v2 for Jira Server instances.I will submit a PR to fix this issue. -- 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]
