Buildkite
resmiBuildkite pipeline'larını ve build'lerini yönetin.
Buildkite MCP ile neler yapabilirsiniz?
- Derlemeleri karşılaştırarak gerilemeleri bulun — "Bu derleme en son main üzerinde çalıştığından beri ne değişti?" diye
compare_buildsileorg_slug,pipeline_slugvebuild_numberkullanarak sorun. - Günlüklerle başarısız işleri inceleyin — Bir karşılaştırmanın ardından yeni başarısız olan veya hâlâ başarısız olan adımlar için günlük girdilerini incelemek üzere
get_build_failure_summaryveyatail_logskullanın. - Karşılaştırma için belirli bir temel sürümü sabitleyin — Belirli bir derlemeyle, başarısız olanlar veya diğer dallardaki derlemeler dahil, karşılaştırmak için
baseline_build_numbersağlayın. - İş eşleştirmeyi ve zamanlamayı anlayın — İşlerin nasıl eşleştirildiğine (adım anahtarları veya ad geri dönüşü yoluyla) dair ayrıntıları alın ve
scheduled_atilestarted_atarasındaki yürütme süresi farklarını görün.
Dokümantasyon
buildkite-mcp-server
Model Context Protocol (MCP) sunucusu; Buildkite verilerini (pipelines, builds, jobs, tests) yapay zeka araçlarına ve editörlere sunar.
Tam dokümantasyon buildkite.com/docs/apis/mcp-server adresinde mevcuttur.
Build'leri karşılaştırma
investigations araç setindeki salt-okunur compare_builds aracı, "Bu build, main'de en son çalıştığından beri ne değişti?" gibi soruları yanıtlar. org_slug, pipeline_slug ve hedef build_number değerlerini sağlayın. Aynı pipeline ve tam branch üzerinde şu anda geçen, en son oluşturulmuş daha eski bir build'i seçer. Temel build'in, hedef başladığında zaten geçmiş olmasını gerektirmez. Bunun yerine o pipeline'daki belirli bir build ile karşılaştırmak için baseline_build_number sağlayın; buna başarısız bir build veya başka bir branch'teki bir build dahildir.
Yanıt, temel build'i ve seçim kuralını tanımlar, tüm işlerdeki sonuçları sayar ve en fazla 100 iş karşılaştırması döndürür; yeni başarısız olan, kurtarılan ve hâlâ başarısız olan adımlara öncelik verir. Eşleştirme, adım anahtarlarını, iş türünü, matris değerlerini ve paralel indeks/toplamı kullanır. Her iki işte de anahtar olmadığında, yalnızca bu kombinasyon her build'de benzersiz olduğunda, tam boş olmayan ad artı tür, grup anahtarı, matris değerleri ve paralel indeks/toplamına geri döner. Eşleşen çiftler match_method: "step_key" veya "name_fallback" değerlerini ortaya çıkarır; geri dönüş eşleşmeleri sezgisel olduklarına dair bir uyarı taşır. Adsız, anahtarsız işler ve yinelenen kimlikler eşleşmeden kalır. Açık anahtarlar, anahtar build'ler arasında eklenmiş, kaldırılmış veya değiştirilmiş olsa bile asla adlara geri dönmez. Eklenen/kaldırılan, bir iş kimliğinin yalnızca bir build'de bulunması anlamına gelir; bu nedenle anahtarsız işleri yeniden adlandırmak veya matris değerlerini ya da paralelliği değiştirmek de eklenen/kaldırılan girdiler üretebilir. Yeniden denenen girişimler hariç tutulur; son girişim durumları ve yeniden deneme sayıları görünür kalır.
Yürütme süreleri ve farklar yalnızca son girişimleri kapsar. Zamanlama süresi scheduled_at ile started_at arasındadır; bağımlılık veya manuel bekleme değildir. Bunlar build duvar saati karşılaştırmaları veya toplam yeniden deneme maliyetleri değildir. Eksik veya tutarsız zaman damgaları ilgili zamanlamayı atlar. Bitmemiş build'ler, değişen anlık görüntüler olarak açıkça tanımlanır.
Yumuşak ve sert başarısızlıklar arasındaki geçişler, her iki işin de durumu failed olsa bile state_changed olarak raporlanır. Geçen bir temel build, yumuşak başarısız işler içerebilir.
Varsayılan olarak, en fazla üç yeni başarısız iş, her biri 8 KiB log içeriğiyle sınırlı olmak üzere son 20 log girdisini içerir. Logları atlamak için include_logs: false ayarlayın. Log hataları karşılaştırmayı atmaz; HTTP 401 kimlik doğrulama hataları hariç, bunlar sunucunun yeniden kimlik doğrulama yolundan yayılır. Araç, read_builds ve read_build_logs kapsamlarını gerektirir. Daha fazla araştırmak için get_build_failure_summary veya tail_logs kullanın; paylaşılan bir başarısız adım, paylaşılan bir kök neden oluşturmaz veya yeniden denemeyi güvenli hale getirmez.
Temel build keşfi en fazla 500 adayı arar. Hiçbiri bulunamazsa, yanıt hiçbir karşılaştırma yapılmadığını söyler ve açık bir temel build ister. İş envanterleri build başına 1.000 işle sınırlıdır; daha büyük envanterler yanıltıcı kısmi eklenen/kaldırılan sonuçlar yerine bir hata döndürür. Çıktı atlamaları, tam sonuç sayımlarından ayrı olarak raporlanır.
Kütüphane Kullanımı
Bu modülün dışa aktarılan Go API'si kararsız olarak kabul edilmeli ve bu projeyi geliştirdikçe kırıcı değişikliklere tabi olmalıdır.
Güvenlik
MCP sunucusunun güvenli bir ortamda çalıştırılmasını sağlamak için bir kapsayıcıda çalıştırmanızı öneririz.
Bu görüntü cgr.dev/chainguard/static üzerinden oluşturulmuştur ve ayrıcalıksız bir kullanıcı olarak çalışır.
HTTP modunda kimlik başlıklarını iletme
Kendi kendine barındırılan HTTP dağıtımları, gelen her MCP isteğinden seçili başlıkları Buildkite API'sine iletebilir:
BUILDKITE_API_TOKEN=bkua_xxx \
buildkite-mcp-server http \
--passthrough-http-header X-User-Identity
Birden fazla başlığa izin vermek için --passthrough-http-header tekrarlayın veya virgülle ayrılmış bir BUILDKITE_PASSTHROUGH_HTTP_HEADERS değeri ayarlayın. Yalnızca açıkça izin verilen başlıklar iletilir ve yalnızca BUILDKITE_BASE_URL tarafından yapılandırılan kaynağa iletilir. Başka yere yönlendirilen isteklerden kaldırılırlar.
Her MCP isteğini kendi Buildkite API belirteciyle doğrulamak için Authorization izni verin ve süreç genelindeki belirteci atlayın:
BUILDKITE_PASSTHROUGH_HTTP_HEADERS=Authorization \
buildkite-mcp-server http
Bu modda her /mcp isteği tam olarak bir boş olmayan Authorization başlığı içermelidir. Eksik kimlik bilgileri HTTP 401 döndürür; sunucu asla paylaşılan bir API belirtecine geri dönmez. MCP sunucusunun önündeki ters proxy, çağıranları doğrulamaktan ve iletilen kimlik başlıklarını ayarlamaktan veya doğrulamaktan sorumludur.
Başlık geçişi stdio modunda kullanılamaz. İş loglarını sunmadan önce sunucu, mevcut çağıranın iş loguna erişebildiğini doğrular. Bu kontrol, log verileri zaten önbelleğe alınmış olsa bile her log aracı isteği için gerçekleştirilir.
Katkıda Bulunma
Geliştirme yönergeleri DEVELOPMENT.md içindedir.
Lisans
MIT © Buildkite
SPDX-License-Identifier: MIT