Add or override build info in the pipeline page

I would like to add or modify the build info displayed for each build in the pipeline page. In my specific case, I’m trying to update the Github url (branch, sha, commit message) - I assumed that the different UI elements in the build table were driven by those values.

I tried to override the env variables in a pre-agent hook, but that didn’t work. The doc does specify that those specific env variable cannot be changed.

Another path would be the ability to annotate the build (which i do in the build page) but have the annotations for each build be displayed at the pipeline level page.

The above is a similar ask to Annotate Pipeline Dashboard - #5 by sorsini

Hello @nkammah!

Hope you’re well - and a warm welcome to the Buildkite Forum! :wave:

On the latter ask, I’m assuming the annotations appearing inside per build page being a limiting factor here? Looking at the similar ask you linked to - I believe its more the annotations appearing per build row (kind of similar to a little tag) next to the other build metadata that appears if thats the correct assumption.

For the modification of build information (such as the BUILDKITE_MESSAGE/BUILDKITE_BRANCH- that is dependant on how the builds are triggered - set from the New Build’s modal through the UI, webhooks via source control etc (and are set from these). They’re obtained and set as those values through the Buildkite agents’ bootstrap sub-process (when it gets sent a job to execute).

On the editing of the SHA (BUILDKITE_COMMIT) through a job’s process, you could create a checkout hook on your agent/plugin if so desired (setting a commit/SHA within that hook’s script and accessing this value within its process) - though keep in mind this will be different to the checkout phase that is defaulted!

I believe its more the annotations appearing per job row (kind of similar to a little tag) next to the other build metadata that appears if thats the correct assumption.

That is correct - I’d love the ability to add a little tag next to the other build metadata in the build boxes of the pipeline page.

that is dependant on how the builds are triggered
In my case, it is triggered via API.

We wrote a PR bot that listens to GH webhooks on different repositories, and triggers a single Buildkite pipeline with metadata about the triggering PR (which repo, which sha…). Since we always trigger the central Buildkite pipeline at a specific sha, the repo/branch/sha is set to the repo/branch holding the centralised build logic for all the other repos/branches. In the build script logic, we clone the PR repo and so on.
Everything works fine - but when on the pipeline page we see that all builds are coming from the same repo/branch/sha even if on the build detail page we have an annotation to show us the actual build source.

We’ve used this approach (so far) over having one pipeline per repo triggering a centralized pipeline to avoid having to define one pipeline per repo (out of many).

I hope this makes sense.

Hey @nkammah!

Thanks for the idea - I’ve looped it to our product folks for consideration. Thanks for letting us know (they might get in touch with you on this further) :slightly_smiling_face:

As for the overriding of the variables - that all makes sense. I do suggest a plugin to replace the default behaviour (agent level specifically) since that should replace the default process: and you’ll be able to specify those specific repo/branch/sha combinations from within that script (the actual agent bootstrap will be responsible for the pre-filling of the environment variables as a job is created and is shown on the UI)

Cheers!

Hey @nkammah,

Nice to meet you! I am from the product team. Thanks a lot for your feedback.

I just want to confirm that you are looking to tag builds with the original sha so you can understand what is deployed?

We do not have anything immediate in the next 3 months, but this is something we’d like to consider in the new year.

Please let me know if I misunderstood the need though!

Have a great day!

@Ozdenyilmaz not exactly - I’d love the ability to add a custom information (icon/link/button similar to the below ones) within the build boxes on the pipeline page.

I see thanks @nkammah , I can see how emojis and texts can be used but can you explain what your intention is with the buttons?

I may be using the wrong terminology (button) - what i’d like is to attach a link behind the text / emoji (the link would allow to browse to that custom defined, build specific URL that I would have set).

I see, I think I understand what you mean @nkammah . It is currently in our feedback backlog, I will reach out if we end up picking this work. Thanks for being patient with me while explaining the problem.

Have a great day!