Her mühendislik ekibi, kimsenin planlamadığı ama herkesin bedelini ödediği bir katman tekrar eden iş taşır. Birileri standup özetini hazırlar. Birileri gelen her hata bildirimini okuyup doğru kişiye yönlendirir. Birileri altı farklı sekmedeki dağınık durumdan cuma raporunu derler. Bunların hiçbiri zor değil. Hepsi angarya: öngörülebilir, tekrarlanabilir ve sessizce pahalı, çünkü ilk fark edenin üstüne kalıyor.
Tam da bu tür işleri bir AI Agent iyi kotarır; yeter ki bir mekanizma, bir insanın prompt yazmasına gerek kalmadan Agent'ı doğru anda başlatsın. İşte bu başlatma mekanizmasını Sharkly'de Otomasyonlar sağlıyor. Otomasyon, tekrarlanabilir Agent veya Crew işleri için Space'e ait bir tanımdır: yazılı talimatlar, işi yürütecek bir atanan, bir veya daha fazla tetikleyici ve inceleyebileceğiniz bir çalıştırma geçmişi.
Amaç, muhakemeyi otomatikleştirmek değil. Sharkly'nin kendi ifadesi net: otomasyon, ekip muhakemesinin gerektiği yerde durur. Bir Otomasyon standup özetini taslak hâline getirebilir, bir hatayı ilk elden okuyabilir ve haftalık raporu derleyebilir. Bunların hiçbiriyle ilgili ekibin ne yapacağına hâlâ bir insan karar verir. Sharkly'de yeniyseniz, önce Sharkly nedir yazısıyla başlayıp sonra buraya dönün.
TL;DR
Sharkly'de bir Otomasyon, bir tetikleyici çalıştığında bir Agent'ı veya Crew'i sabit bir talimat kümesiyle başlatan, Space'e ait bir kuraldır. Dört tetikleyici türü vardır: bir zamanlama (saat dilimiyle birlikte beş alanlı cron), bir görev durumu değişikliği, yapılandırılmış bir ifade içeren bir yorum ve harici servisler için gizli bir webhook URL'si; ayrıca manuel test için bir Şimdi Çalıştır düğmesi. Her çalıştırma, kaynağı, sonucu ve hata nedeniyle birlikte çalıştırma geçmişine kaydedilir ve bir Otomasyonu gözden geçirirken duraklatıp yeniden başlatabilirsiniz. Otomasyonları iyi tanımlanmış tekrar eden işler için kullanın: standup özetleri, ilk elden hata triyajı, dönemsel raporlar. Okuma ve taslak hazırlama işini Agent yapar; çıktıyı bir insan inceler ve kararı verir.
Otomasyon nedir, ne değildir
Bir Otomasyon, tekrarlanabilir tek bir işin küçük ama eksiksiz tanımını saklar: amacı, adımları, kısıtları ve beklenen sonucu anlatan bir ad ve talimatlar; otomasyonun sahibi olan Space; işi yapan Agent veya Crew'i belirten atanan; bir öncelik; Aktif ya da Duraklatıldı durumu; bir veya daha fazla tetikleyici; ve her çalıştırmanın kaynağını, sonucunu, Agent çalıştırmasını ve hata nedenini kaydeden çalıştırma geçmişi.

Aksi hâlde sizi şaşırtacak iki sınır var.
Birincisi, bir Otomasyon her çalıştırma için bir Görev oluşturmaz. Doğrudan bir Agent veya Crew çalıştırması başlatır. Çalıştırma, çıktısı ve varsa hata, görev listeniz yerine Otomasyonun çalıştırma geçmişine düşer; böylece panonuz her sabah dokuzda makine tarafından üretilmiş Görevlerle dolmaz.
İkincisi, Otomasyonlar Sharkly'nin iş akışı tuvali değildir. Bir Space'te iki otomasyon yüzeyi vardır: burada anlatılan tek kural olan Otomasyonlar ve üçüncü taraf bağlayıcıları çağırabilen tetikleyici ile eylem düğümlerinden oluşan bir tuval olan Otomasyon iş akışları. Öngörülebilir bir olaya yanıt olarak tek bir Agent veya Crew'in tek bir talimat kümesini çalıştırması gerektiğinde Otomasyon kullanın. Agent devreye girmeden önce çok adımlı ya da uygulamalar arası eylemlere ihtiyacınız varsa iş akışı kullanın.
Atanan tam teşekküllü bir Sharkly Agent'ı olduğu için o Agent üzerinde zaten yapılandırdığınız her şey geçerlidir: talimatları, Runtime'ı, Skills'i, depoları ve çalıştırma ayarları. Henüz bir Agent oluşturmadıysanız, Sharkly'de Agent'lar yazısı, kaydedilmiş çalışan bir yapılandırmanın ekibin yeniden kullanabileceği bir şeye nasıl dönüştüğünü anlatıyor. Bir Otomasyon aslında o Agent'la yapılmış sürekli bir randevudur.
Dört tetikleyici türü
Bir Otomasyonun birden fazla tetikleyicisi olabilir ve her biri bağımsız olarak etkinleştirilip devre dışı bırakılabilir. Tek bir tanım birkaç giriş noktasına hizmet edebilir: aynı triyaj talimatları hem bir durum değişikliğinde hem de bir slash komutunda, hiçbir şeyi kopyalamadan çalışabilir.
| Tetikleyici | Ne zaman tetiklenir | En uygun olduğu durum | Dikkat edilmesi gerekenler |
|---|---|---|---|
| Zamanlama | Seçilen bir saat diliminde bir cron ifadesi eşleştiğinde | Tekrarlayan kontroller, özetler, hatırlatıcılar, bakım | Saat dilimi seçimi; bir şey değişse de değişmese de çalıştırmalar gerçekleşir |
| Görev durumu değişikliği | Bir görev, seçilen bir Organizasyon durumuna geçtiğinde | Gelen iş kuyrukları, inceleme takibi, triyaj | Eşleştirme Organizasyon genelindedir, Space ile filtrelenmez |
| Yorum ifadesi | Bir görev yorumu, yapılandırılmış bir ifadeyi büyük/küçük harf duyarsız olarak içerdiğinde | Bir tartışmanın içinden /triage gibi isteğe bağlı komutlar | Ayrıca Organizasyon genelinde dinler; ayırt edici bir ifade seçin |
| Webhook | Harici bir servis gizli bir URL'ye POST gönderdiğinde | CI sonuçları, GitHub olayları, diğer sistemlerden gelen uyarılar | URL bir bearer sırdır; dikkatli saklayın ve düzenli olarak yenileyin |
Zamanlama, standart bir beş alanlı cron ifadesi ve bir saat dilimi kullanır; yaygın olarak saatlik, günlük, hafta içi ve haftalık hazır ayarlar sunar. Bu, bir şey değiştiği için değil, günlerden salı olduğu için gerçekleşmesi gereken işlerin tetikleyicisidir.
Görev durumu değişikliği, bir görev seçilen bir Organizasyon durumuna geçtiğinde Otomasyonu başlatır. Bir ayrıntı önemli: durumlar yeniden kullanılabilir Organizasyon tanımlarıdır ve mevcut olay eşleştirmesi Organizasyon genelindedir. Birden fazla Space aynı "Triyaj Gerekli" durumunu kullanıyorsa, herhangi birindeki eşleşen geçiş Otomasyonunuzu başlatabilir. Talimatları, Agent harekete geçmeden önce tetikleyen görevi doğrulayacak şekilde yazın.
Yorum ifadesi, bir görev yorumu yapılandırılmış bir ifade içerdiğinde bir çalıştırma başlatır. Eşleştirme büyük/küçük harf duyarsızdır, yorumun herhangi bir yerine bakar ve yine Organizasyon genelinde dinler. Dokümanların tavsiyesi şu: "kontrol et" gibi bir ifade yerine /triage-bug gibi ayırt edici bir slash komutu tercih edin ve talimatlara tetikleyen görevi doğrulatın.
Webhook, harici bir servisten POST kabul eden gizli bir URL oluşturur. Tam URL, tetikleyici oluşturulduğunda veya yeniden üretildiğinde gösterilir ve sonradan görüntülenemez; çünkü varsayılan olarak URL'nin kendisi bearer sır işlevi görür. Bir imzalama sırrı yapılandırırsanız, isteklerin imza doğrulamasından da geçmesi gerekir; bu, GitHub'ın kendi webhook'ları için kullandığı desenin aynısıdır. Bu sırları kaynak kontrolünden uzak tutun ve açığa çıkmaları hâlinde yeniden üretin. Sharkly'yi webhook'ların ötesinde betiklemek için Sharkly CLI ve API yazısına bakın.
Bir çalıştırmayı başlatmanın bir yolu daha var ki bu aslında bir tetikleyici değil: Şimdi Çalıştır, Otomasyonu doğrudan başlatır; işi dört tetikleyiciye emanet etmeden önce talimatları ve atananın uygunluğunu test etmenin yoludur.
Bir Otomasyon aslında neyi çalıştırır
Bir tetikleyici çalıştığında Sharkly, atanan Agent'ı veya Crew'i Otomasyonun talimatlarıyla başlatır. Bu talimatlar sözleşmenin tamamıdır; bu yüzden dokümanlar neleri belirtmeleri gerektiği konusunda nettir: üretilecek sonuç, incelenecek girdiler, izlenecek adımlar, sonucun nereye kaydedileceği, hangi değişikliklere izin verildiği ve bir insanın ne zaman inceleyip karar vermesi gerektiği.

Son madde ayrıca vurguyu hak ediyor. İyi yazılmış bir Otomasyon kendi durma noktasını belirtir. "Özeti taslak hâline getir ve kaydet; görev durumlarını değiştirme" talimatı, yetkiyi belirsiz bırakan daha uzun bir talimattan daha iyidir. Dokümanların devreye alma rehberi de aynı ölçüde net: gözlemlenebilir ve geri alınabilir işlerle başlayın, kapsamı genişletmeden önce birkaç çalıştırmayı inceleyin.
İlk olarak otomatikleştirmeye değer üç angarya
Bunların her biri ürünün desteklediği ölçüde kalır: Agent okur, taslak hazırlar ve kaydeder; kararlar insanlarda kalır.
Günlük standup özeti. Tetikleyici: ekip saat diliminde, hafta içi hazır ayarıyla bir zamanlama. Atanan: ilgili bağlama okuma erişimi olan bir raporlama Agent'ı. Talimatlar: mevcut Sprint'in görevlerini incele, nelerin ilerlediğini, nelerin tıkandığını ve nelerin inceleme beklediğini not et, sonra hiçbir görevi değiştirmeden ekibin okuduğu yere kısa bir özet kaydet. Agent, standup'ın kimsenin sevmediği kısmını yapar — tabloyu bir araya getirir — ve standup, muhakeme gerektiren iki maddeyi konuşan bir sohbete dönüşür. Ekibiniz iş akışını Sharkly üzerinden yürütüyorsa, Sprint'ler Agent'ın incelediği yapıyı sağlar.
İlk elden hata triyajı. Tetikleyici: hata giriş durumunuzda bir görev durumu tetikleyicisi ya da /triage gibi ayırt edici bir ifadeye bağlı yorum tetikleyicisi, ya da her ikisi. Atanan: depoları etkilenen kodu kapsayan bir triyaj Agent'ı. Talimatlar: tetikleyen görevin hedeflenen Space'te bir hata olduğunu doğrula, bildirimi oku, kod tabanının ilgili bölümünü incele, sonra hatanın neye dokunduğunu, bildirimin üzerinde işlem yapmaya yetip yetmediğini ve gerekçesiyle birlikte önerilen bir önceliği kaydet. Öner, karar verme. Doğrulama adımı süs değildir: durum ve yorum eşleştirmesi Organizasyon genelinde olduğundan kapsam filtreniz talimatlardır. Kazanç şu: her hata, geldikten sonraki dakikalar içinde aynı özenli ilk okumadan geçer. İş Sharkly'nin dışından geldiğinde de aynı iş bölümü geçerlidir; bir Jira ticket'ının nasıl bir Agent'ın işi hâline geldiğine bakın.
Dönemsel rapor. Tetikleyici: haftalık hazır ayarıyla bir zamanlama. Atanan: aynı türden bir raporlama Agent'ı; talimatlar daha uzun bir zaman aralığına yöneliktir: nelerin tamamlandığını, nelerin geciktiğini ve nelerin tıkandığını özetle. Standup örneğinden farkı yalnızca kapsam ve hedef kitle; ki bu tam da bir Otomasyona ait olmasının nedenidir. Her cuma aynı kalitede var olan rapor, birinin vakti olduğunda ortaya çıkan daha iyi rapordan üstündür.
Üçünde de talimatlarda hiç görünmeyen şeye dikkat edin: kabul et, onayla, yayına al, kapat, karar ver.
Çalıştırma geçmişi, sağlık durumu, duraklatma ve devam ettirme
İnceleyemediğiniz otomasyon, güvenemeyeceğiniz otomasyondur; bu yüzden her çalıştırma kaydedilir. Çalıştırma geçmişi her çalıştırmayı Çalışıyor, Tamamlandı, Başarısız veya Atlandı olarak raporlar; çalıştırma ayrıntılarından tetikleyici yükünü, Agent çalıştırmasını, çıktıyı ve kaydedilen hata nedenini açabilirsiniz. Tekil çalıştırmaların üzerinde bir sağlık sinyali en güncel faydalı durumu özetler: hiç test edilmedi, çalışıyor, sağlıklı, atlandı veya dikkat gerekiyor.
Kafanızda kalın harflerle tutmanız gereken bir sınır olumsuzlaması var: Tamamlandı durumu Otomasyon çalıştırmasını tanımlar, sonraki tüm sonuçların doğru olduğuna dair bir vaat değildir. Tamamlandı, mekanizmanın çalıştığı anlamına gelir. Özetin doğru mu yoksa triyaj kararının yerinde mi olduğu hâlâ insanın okumasına bağlıdır.
Duraklatma ve devam ettirme tam da bekleyeceğiniz anlar için var. Talimatlarını, tetikleyicilerini veya atananı gözden geçirirken yeni tetiklenen çalıştırmaları durdurmak için bir Otomasyonu duraklatın, yapılandırma hazır olduğunda devam ettirin; bu sırada tanım ve geçmişi olduğu yerde kalır. Silme tek kaldırma yoludur; bu yüzden onu çalıştırma geçmişine artık ihtiyaç duymadığınız tanımlara saklayın. Ve bir Agent'ı arşivlemeden önce, ona hâlâ bağlı Otomasyon olup olmadığını kontrol edin.
Herhangi bir Otomasyona güvenmeden önce dokümanlar kısa bir kontrol listesi öneriyor: Şimdi Çalıştır ile manuel olarak çalıştırın, Agent'ın veya Crew'in gerekli erişime sahip olduğunu doğrulayın, çalıştırmayı ve çıktısını inceleyin, her tetikleyiciyi ayrı ayrı test edin, dar bir durum ya da ayırt edici bir yorum ifadesi kullanın ve webhook sırlarını kaynak kontrolünden uzak tutun.
Otomasyon nerede durur
Hedefin, başında kimsenin olmadığı bir boru hattı olduğu sonucuna varmak kolay olurdu. Öyle değil ve ürünün kendi tasarımı da bunu söylüyor. Otomasyonlar kendi çıktısını kabul etmez ve her çalıştırmayı inceleme için kaydeder.
O hâlde dürüst karar kuralı şu. Aynı iyi tanımlanmış işin tekrar tekrar ya da öngörülebilir bir olaya yanıt olarak başlaması gerektiğinde ve tutarlı bir ilk taslak, ara sıra gelen mükemmel bir taslaktan daha iyi olduğunda Otomasyon kullanın. İş tek seferlikse doğrudan bir Agent'a Görev atayın; işin kendisi muhakemeyse, yani çatışan baskılar altında bir öncelik kararı, bir kabul kararı, sürekli yanlış olmanın ara sıra yavaş olmaktan daha kötü olduğu her durumda, işi tamamen insanlarda bırakın.
Küçük ve sıkıcı başlayın. Kurulumu yapın, bir raporlama Agent'ı oluşturun, hafta içi zamanlamalı ve "hiçbir görevi değiştirme" ile biten talimatlara sahip bir Otomasyon yazın ve bir kez manuel çalıştırın. Çıktıyı okuyun. İşe yarıyorsa zamanlamanın devralmasına izin verin. Dokümanlar Otomasyonları ve iş akışı tuvalini daha ayrıntılı ele alıyor.
SSS
Sharkly Otomasyonları hangi tetikleyici türlerini destekler?
Dört tanesini: saat dilimiyle birlikte beş alanlı bir cron ifadesi kullanan bir zamanlama, bir görev seçilen bir Organizasyon durumuna geçtiğinde tetiklenen bir görev durumu tetikleyicisi, yapılandırılmış bir ifadeyle tetiklenen bir yorum tetikleyicisi ve gizli bir URL'de POST kabul eden bir webhook tetikleyicisi. Bir Otomasyon, her biri bağımsız olarak etkinleştirilip devre dışı bırakılabilen birkaç tetikleyiciyi birleştirebilir; Şimdi Çalıştır ise test için bir çalıştırmayı manuel olarak başlatır.
Bir Otomasyon her çalıştığında bir Görev oluşturur mu?
Hayır. Mevcut Otomasyonlar doğrudan Agent veya Crew çalıştırmaları başlatır ve her çalıştırma için bir Görev oluşturmaz. Çalıştırma, çıktısı ve varsa hata nedeni Otomasyonun çalıştırma geçmişine kaydedilir. Sonucun ekibin okuduğu bir yerde olmasını istiyorsanız bunu talimatlarda belirtin.
Otomasyonlar, Otomasyon iş akışlarından nasıl farklıdır?
Bir Space'teki iki ayrı yüzeydir. Otomasyon tek bir kuraldır: ne zaman başlayacağı, hangi Agent veya Crew'in çalışacağı ve hangi talimatları izleyeceği. Otomasyon iş akışları ise bağlayıcılar aracılığıyla üçüncü taraf uygulamaları çağırabilen tetikleyici ve eylem düğümlerinden oluşan bir tuvalidir. Tekrarlayan kontroller ve yorum komutları için tek kuralı, çok adımlı ve uygulamalar arası akışlar için tuvali kullanın.
Bir Otomasyon hata triyajını tek başına üstlenebilir mi?
İlk elden okuma kısmını üstlenebilir: tetikleyen görevi doğrulamak, bildirimi okumak, ilgili kodu incelemek ve bulguları önerilen bir öncelikle birlikte kaydetmek. Triyaj kararı bir insanda kalır ve talimatlar bunu açıkça belirtmelidir. Dokümanlar, gözlemlenebilir ve geri alınabilir işlerle başlamayı ve kapsamı genişletmeden önce birkaç çalıştırmayı incelemeyi öneriyor.
Bir Otomasyon çalıştırması başarısız olduğunda ne olur?
Çalıştırma, varsa hata nedeniyle birlikte çalıştırma geçmişine Başarısız olarak kaydedilir ve sağlık sinyali "dikkat gerekiyor" durumuna geçer. Tetikleyici yükünü, Agent çalıştırmasını ve çıktıyı incelemek için çalıştırma ayrıntılarını açın, talimatları, tetikleyiciyi veya atananı düzeltin ve tetikleyicilere yeniden güvenmeden önce düzeltmeyi doğrulamak için Şimdi Çalıştır'ı kullanın.



