You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Hi All,
I'm trying to trigger a custom pipeline for a particular branch using the following API call below:
curl -X POST -is -u <user>:<password> \
-H 'Content-Type: application/json' \
https://api.bitbucket.org/2.0/repositories/<account>/<repo>/pipelines/ \
-d ' { "target": { "ref_type": "branch", "type": "pipeline_ref_target", "ref_name": "<branch_name>" } }'
My yaml file has two paths, one is custom and the other is branch name based. The branch name based path works without issue however I'm unable to trigger the custom pipeline path without having to go the UI and doing it manually there ( I have a few repos so I don't want to constantly go back to the UI through each repo to trigger the custom path, rather script it up in a loop to fire them all off)
It ends up giving this response after posting
"Bad request", "detail": "bitbucket-pipelines.yml not found."
If I check the branch <branch_name> for that repo I can see that the bitbucket-pipelines.yml file is definitely there. Am I missing something obvious here? It makes me think the API is hitting some other branch where the file does not exist, but all branches in that repo has a bitbucket-pipelines.yml file.
Hey @Sidney Chen ,
How exactly are you triggering the custom pipeline? I'd suggest that you try this example, adding the selector field to specify the custom pipeline you want to run:
curl -X POST -is -u username:password \
-H 'Content-Type: application/json' \
https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}/pipelines/ \
-d '
{
"target": {
"type": "pipeline_ref_target",
"ref_type": "branch",
"ref_name": "master",
"selector": {
"type": "custom",
"pattern": "my-custom-pipeline-name"
}
}
}'
More details and examples in here: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/pipelines/
Perfect! just what I was looking for @Raul Gomis . I kept having to trigger it from the UI since I didn't realise thats how the selector field worked.
Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Raul Gomis - Is there a way I can pass multiple values in pattern, or what is the correct way to achieve below use-case.
"pattern": "my-custom-pipeline-name"
I have a use case to execute all custom steps in the below YAML file one after the other from custom bitbucket pipeline API ?
pipelines:
custom:
create-aws-account:
- variables:
- name: account_id # single string (required)
- step: *tfapply
set-sso-permissions:
- variables:
- name: aws_account_id # single string (required)
- name: aws_region # us-east-1 or ca-central-1
- step: *aws_sso_access
run-cloudhealth-pipeline:
- variables:
- name: aws_account_name
- name: aws_account_id
- step: *cloudhealth_pipeline
run-tekton-pipeline:
- variables:
- name: account_id # single string (required)
- name: app_id # single string (optional)
- step: *tekton_pipeline
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Ranopriyo Neogy You can trigger two separate requests. I would recommend to use the following trigger-pipeline pipe to simplify the process and make it more user friendly with no code required. There is a good example in this Community post: https://community.atlassian.com/t5/Bitbucket-Pipelines-questions/I-m-using-atlassian-trigger-pipeline-can-I-request-WAIT-but-not/qaq-p/1633748.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.