# Override 0-step from repository

**URL:** <https://forum.buildkite.community/t/override-0-step-from-repository/3704>\
**Category:** Pipelines\
**Created:** [May 23, 2024, 5:42am UTC](https://forum.buildkite.community/t/override-0-step-from-repository/3704 "2024-05-23T05:42:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![velios](https://avatars.discourse-cdn.com/v4/letter/v/f05b48/32.png) [@velios](https://forum.buildkite.community/u/velios)\
**Post date:** [May 23, 2024, 5:42am UTC](https://forum.buildkite.community/t/override-0-step-from-repository/3704/1 "2024-05-23T05:42:54Z")

</div>

Hi

When i read article about [dynamic pipelines](https://buildkite.com/blog/how-to-build-ci-cd-pipelines-dynamically) It seemed to me that there is a mechanic for reassigning the zero step. By zero step i mean part that I can edit via the web interface. Can I change it directly from the repository using some system file name, for example `.buildkite/template.yml`. Or maybe this behavior can be enabled by some settings? I know that `.buildkite/pipeline.yml` can be put into the project, but this add one unnecessary step to my build.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/buildkite1/original/2X/e/ee7ecbedccc4ce371e477b26153180237c532173.png)

---

<div class="post-metadata">

**Author:** ![lizette](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/lizette/32/1161_2.png) [@lizette](https://forum.buildkite.community/u/lizette)\
**Post date:** [May 23, 2024, 6:23am UTC](https://forum.buildkite.community/t/override-0-step-from-repository/3704/2 "2024-05-23T06:23:56Z")

</div>

Hi @velios,

The build always starts with loading the pipeline defined from the steps editor, and this cannot be modified. However, a pipeline does not always have to start with the pipeline upload step as per screenshot.

```auto
steps:  
- label: ":pipeline:"
    command: "buildkite-agent pipeline upload"

```

The above can be modified using the YAML steps editor. You can refer to the [Migrating to YAML steps | Buildkite Documentation](https://buildkite.com/docs/tutorials/pipeline-upgrade#what-is-the-yaml-steps-editor).

Hope this helps.

Cheers!

---

<div class="post-metadata">

**Author:** ![velios](https://avatars.discourse-cdn.com/v4/letter/v/f05b48/32.png) [@velios](https://forum.buildkite.community/u/velios)\
**Post date:** [May 23, 2024, 7:48am UTC](https://forum.buildkite.community/t/override-0-step-from-repository/3704/3 "2024-05-23T07:48:39Z")

</div>

Yes, I tried editing this in the web interface and it works. I wanted to know if there was a way to change this using a file directly from the repository. If I understand correctly, this is not possible.

---

<div class="post-metadata">

**Author:** ![karen.sawrey](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/karen.sawrey/32/1188_2.png) [@karen.sawrey](https://forum.buildkite.community/u/karen.sawrey)\
**Post date:** [May 23, 2024, 4:00pm UTC](https://forum.buildkite.community/t/override-0-step-from-repository/3704/4 "2024-05-23T16:00:51Z")

</div>

Hello, @velios!

You are correct, the step where Buildkite is looking for what is in the step editor cannot be directly configured from a repository file (neither can it be skipped because otherwise Buildkite agent wouldn’t know what to upload and consequently do).

But once the pipeline is created, you can update the steps using both the GraphQL and REST APIS.  
You can find more details here:

> **[pipelineUpdate – Mutations – GraphQL API](https://buildkite.com/docs/apis/graphql/schemas/mutation/pipelineupdate)**
>
> Change the settings for a pipeline.

> **[Pipelines API](https://buildkite.com/docs/apis/rest-api/pipelines#update-a-pipeline)**
>
> The pipelines API consists of several endpoints that allow you to manage:

Alternatively, pipeline steps can be managed using our Terraform Provider, using the `buildkite_pipeline` resource  
[https://registry.terraform.io/providers/buildkite/buildkite/latest/docs/resources/pipeline](https://registry.terraform.io/providers/buildkite/buildkite/latest/docs/resources/pipeline)

Best!
