Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BitBucket Cloud - Pipeline definition not found (when using multiple workflows, manual run) #3600

Closed
3 tasks done
emit-ah opened this issue Apr 8, 2024 · 5 comments · Fixed by #3604 or #3668
Closed
3 tasks done
Labels
bug Something isn't working forge/bitbucket bitbucket forge related
Milestone

Comments

@emit-ah
Copy link

emit-ah commented Apr 8, 2024

Component

server, agent, web-ui

Describe the bug

When using ".woodpecker/" directory with a workflow file (myworkflow.yml) inside, the error message: [generic]pipeline definition not found in company/my-repo appears (manual run).

When using the same file (myworkflow.yml) in the root directory of the project with name ".woodpecker.yml", the workflow is found and executed.

The documentation states that BitBucket Cloud supports multiple workflows. See https://woodpecker-ci.org/docs/next/administration/forges/overview

System Info

version	"next-d0e63375fa"

Additional context

woodpecker-server-1  | {"level":"debug","time":"2024-04-09T07:06:55Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:150","message":"myuser granted &{UserID:1 RepoID:1 Repo:<nil> Pull:true Push:true Admin:true Synced:1712646369 Created:1712589724 Updated:1712646369} permission to company/my-repo"}
woodpecker-server-1  | {"level":"error","error":"Resource not found","repo":"company/my-repo","user":"myuser","time":"2024-04-09T07:06:56Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:152","message":"could not get folder from forge"}
woodpecker-server-1  | {"level":"error","error":"Resource not found","repo":"company/my-repo","user":"myuser","time":"2024-04-09T07:06:57Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:152","message":"could not get folder from forge"}
woodpecker-server-1  | {"level":"error","error":"Resource not found","repo":"company/my-repo","user":"myuser","time":"2024-04-09T07:06:57Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:152","message":"could not get folder from forge"}
woodpecker-server-1  | {"level":"debug","repo":"company/my-repo","error":"configFetcher: fallback did not find config: Resource not found\nNo such file or directory: .woodpecker.yaml\nNo such file or directory: .woodpecker.yml","time":"2024-04-09T07:06:58Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/create.go:82","message":"error while fetching config '' in 'ci/woodpecker' with user: 'myuser'"}

Woodpecker-UI: Pipeline Path -> empty (default)

Validations

  • Read the docs.
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
@emit-ah emit-ah added the bug Something isn't working label Apr 8, 2024
@qwerty287
Copy link
Contributor

Can you check the logs?
And what's configured as config path in repo settings?

@qwerty287 qwerty287 added the feedback this needs feedback label Apr 8, 2024
@emit-ah
Copy link
Author

emit-ah commented Apr 9, 2024

Hi. I added the logs in the original post. The pipeline path is left empty (default).

@qwerty287 qwerty287 added forge/bitbucket bitbucket forge related and removed feedback this needs feedback labels Apr 9, 2024
qwerty287 added a commit that referenced this issue Apr 9, 2024
@emit-ah
Copy link
Author

emit-ah commented Apr 15, 2024

Thanks for the quick help @qwerty287

I tested the change (using server version: next-00f0fcd416). The "Resource not found" error messages are gone. But the workflows are still not found. Same debug message:

woodpecker-server-1  | {"level":"debug","repo":"company/my-repo","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-15T09:43:29Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/create.go:77","message":"cannot find config '' in 'ci/woodpecker' with user: 'myuser'"}

I have two workflow files in ./woodpecker:

.woodpecker/workflow1.yml

steps:
  test-step-1:
    image: alpine
    when:
      - event: [tag, manual]
    commands:
      - echo "Test step 1"

.woodpecker/workflow2.yml

steps:
  test-step-2:
    image: alpine
    when:
      - event: [tag, manual]
    commands:
      - echo "Test step 2"

The UI is showing this error in console when doing a manual run:

Error: Missing required param "pipelineId"

Do I need to specify the "pipelineId" somehow? Maybe it's just an error on my side.

Thanks.

@qwerty287 qwerty287 reopened this Apr 15, 2024
@qwerty287 qwerty287 added this to the 2.x.x milestone Apr 16, 2024
@qwerty287
Copy link
Contributor

qwerty287 commented Apr 28, 2024

Hi @emit-ah, could you check the logs with trace level for some more lines related to config files?

@emit-ah
Copy link
Author

emit-ah commented Apr 29, 2024

Hi, here are the trace logs:

Tag:

{"level":"trace","time":"2024-04-29T07:33:14Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/cron/cron.go:49","message":"cron: fetch next crons"}
{"level":"trace","time":"2024-04-29T07:33:22Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:43","message":"[POST] /api/hook?access_token=redacted"}
{"level":"trace","time":"2024-04-29T07:33:22Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:33:23Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"1. try failed"}
{"level":"trace","time":"2024-04-29T07:33:23Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:33:23Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"2. try failed"}
{"level":"trace","time":"2024-04-29T07:33:23Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:33:24Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"3. try failed"}
{"level":"debug","repo":"mycompany/myrepo","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:33:24Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/create.go:83","message":"cannot find config '' in 'refs/tags/mytag' with user: 'myuser'"}
{"level":"debug","ip":"redacted","latency":1712.565727,"method":"POST","path":"/api/hook","status":204,"time":"2024-04-29T07:33:24Z","user-agent":"Bitbucket-Webhooks/2.0","time":"2024-04-29T07:33:24Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59"}
{"level":"trace","time":"2024-04-29T07:33:24Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/cron/cron.go:49","message":"cron: fetch next crons"}


Manual run:

{"level":"trace","time":"2024-04-29T07:36:34Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/cron/cron.go:49","message":"cron: fetch next crons"}
{"level":"trace","time":"2024-04-29T07:36:35Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:43","message":"[POST] /api/repos/1/pipelines"}
{"level":"debug","time":"2024-04-29T07:36:35Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/repo.go:157","message":"myuser granted &{UserID:1 RepoID:1 Repo:<nil> Pull:true Push:true Admin:true Synced:1714375214 Created:1714030001 Updated:1714375214} permission to mycompany/myrepo"}
{"level":"trace","time":"2024-04-29T07:36:36Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:36:37Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"1. try failed"}
{"level":"trace","time":"2024-04-29T07:36:37Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:36:37Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"2. try failed"}
{"level":"trace","time":"2024-04-29T07:36:37Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:101","message":"configFetcher[mycompany/myrepo]: user did not define own config, following default procedure"}
{"level":"trace","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:36:38Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/services/config/forge.go:64","message":"3. try failed"}
{"level":"debug","repo":"mycompany/myrepo","error":"configFetcher: fallback did not find config: configs not found: .woodpecker/, .woodpecker.yaml, .woodpecker.yml","time":"2024-04-29T07:36:38Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pipeline/create.go:83","message":"cannot find config '' in 'mybranch' with user: 'myuser'"}
{"level":"debug","ip":"redacted","latency":2760.83674,"method":"POST","path":"/api/repos/1/pipelines","status":204,"time":"2024-04-29T07:36:38Z","user-agent":"Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0","time":"2024-04-29T07:36:38Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:59"}
{"level":"trace","time":"2024-04-29T07:36:44Z","caller":"/woodpecker/src/github.com/woodpecker-ci/woodpecker/server/cron/cron.go:49","message":"cron: fetch next crons"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working forge/bitbucket bitbucket forge related
Projects
None yet
2 participants