Veren - Depo kullanıcıları için self servisi zorunlu kılan GitHub eylemi

Proje çerçevesinde İhraççı GitHub için, depo kullanıcılarının zorunlu self-servis sorunlarını çözen bir bot hazırlandı. GitHub'da, tek işlevi insanları Sayı sistemi aracılığıyla koordine etmek olan depolar bulabilirsiniz. Bazıları, Sayı bırakanlardan bir form doldurmalarını istiyor. Daha sonra moderatör gelir, formun doğru doldurulup doldurulmadığını kontrol eder ve formda belirtilenlere uygun etiketler yerleştirir (etiketler ancak şablonda belirtilmemişse ayrıcalıklı bir kullanıcı tarafından eklenebilir). Böyle bir topluluğa örnek açık kaynak fikirleri/açık kaynak fikirleri.

Moderatör hemen gelmiyor. Bu nedenle formları doğrulamak ve işlemleri gerçekleştirmek için tedarikli GitHub haberlerinde yer aldı. Bot Python'da yazılmıştır, ancak yine de onu node.js aracılığıyla başlatmanız gerekir, çünkü GitHub'da yalnızca 2 tür eylem vardır - node.js ve docker ve docker için aynı kapsayıcı ilk önce node.js olarak yüklenir ve başka bir konteynere yükledim, bu çok uzun bir süre. Node.js'nin bulunduğu konteynerin python3'ü ve ihtiyacınız olan her şeyi içerdiğini göz önüne alırsak, küçük oldukları için bağımlılıkları basitçe buraya yüklemek mantıklı olacaktır.

Özellikler:

  • Eylem, YAML yapılandırması ve Markdown şablonları kullanılarak kontrol edilir;
  • Her Markdown şablonuna, formu doğru doldurma koşullarını ve istenen eylemleri açıklayan bir blok eklenir;
  • Genel ayarlara sahip bir yapılandırma dosyası eklenir;
  • Formlar bölümlerden oluşmaktadır. 2 tür bölüm vardır:
    • Ücretsiz Metin. Eylem, kullanıcının oraya bir şey doldurma zahmetine girip girmediğini kontrol edebilir. Metnin anlamı otomatik olarak kontrol edilmez.
    • Onay kutuları. 0 {= m1 {= n {= m2 {= bölümdeki toplam onay kutusu sayısı olacak şekilde n onay kutusunun doldurulmasını zorunlu kılabilirsiniz. Eylem, onay kutularının şablondaki onay kutularıyla eşleştiğini kontrol eder. Bayraklar doğru şekilde ayarlanırsa eylem sırasıyla yayınlanacak etiketleri ekleyebilir. bayraklar.
  • Formun yanlış doldurulması durumunda, eylem kullanıcıya formu nasıl doğru dolduracağı talimatını verir ve üzerine özel bir etiket koyar.
  • Formun belirli bir süre içinde düzeltilmemesi durumunda işlem konuyu kapatabilir. Kullanıcıların otomatik olarak yasaklanması, silinmesi ve taşınması sorunları, gerekli eylemler için resmi bir API'nin bulunmaması ve durum depolamayla ilgili sorunlar nedeniyle henüz uygulanmamıştır.
  • Sorun çözülürse işlem etiketi kaldırır.
  • Eylem yanıt şablonları elbette özelleştirilebilir.

Kaynak: opennet.ru

Yorum ekle