Penerbit - tindakan GitHub untuk memaksa swalayan pengguna repositori

Dalam batas-batas proyek Penerbit bot telah disiapkan untuk GitHub, memecahkan masalah layanan mandiri paksa untuk pengguna repositori. Di GitHub Anda dapat menemukan repositori yang fungsinya hanya untuk mengoordinasikan orang-orang melalui sistem Issue. Beberapa dari mereka meminta mereka yang meninggalkan suatu Masalah untuk mengisi formulir. Kemudian moderator datang, memeriksa apakah formulir telah diisi dengan benar, dan menempatkan tag sesuai dengan yang ditentukan dalam formulir (tag hanya dapat ditambahkan oleh pengguna yang memiliki hak istimewa jika tidak ditentukan dalam templat). Contoh komunitas seperti itu adalah ide sumber terbuka/ide sumber terbuka.

Moderator tidak segera datang. Oleh karena itu, untuk memvalidasi formulir dan melakukan operasi siap ditampilkan dalam berita GitHub. Bot ditulis dengan Python, tetapi Anda masih harus meluncurkannya melalui node.js, karena GitHub hanya memiliki 2 jenis tindakan - node.js dan buruh pelabuhan, dan untuk buruh pelabuhan, wadah yang sama pertama kali dimuat sebagai node.js, dan dimuat ke dalamnya wadah lain, itu waktu yang lama. Mengingat wadah dengan node.js berisi python3 dan semua yang Anda perlukan, masuk akal untuk memuat dependensi ke dalamnya, karena ukurannya kecil.

Fitur:

  • Tindakan ini dikontrol menggunakan konfigurasi YAML dan template Markdown;
  • Sebuah blok ditambahkan ke setiap templat Penurunan Harga yang menjelaskan kondisi untuk mengisi formulir dengan benar dan tindakan yang diinginkan;
  • File konfigurasi dengan pengaturan global ditambahkan;
  • Formulir terdiri dari beberapa bagian. Ada 2 jenis bagian:
    • Teks bebas. Tindakan tersebut dapat memeriksa apakah pengguna bersusah payah mengisi sesuatu di sana. Arti teks tidak diperiksa secara otomatis.
    • kotak centang. Anda dapat meminta n kotak centang diisi sedemikian rupa sehingga 0 {= m1 {= n {= m2 {= jumlah total kotak centang di bagian tersebut. Tindakan ini memeriksa apakah kotak centang cocok dengan kotak centang di templat. Jika tandanya disetel dengan benar, tindakan masing-masing dapat menambahkan tag ke masalah. bendera.
  • Jika formulir yang diisi salah, tindakan tersebut menginstruksikan pengguna cara mengisinya dengan benar dan memberi label khusus padanya.
  • Apabila formulir tersebut tidak diperbaiki dalam jangka waktu tertentu, maka tindakan tersebut dapat menutup permasalahan tersebut. Masalah pelarangan pengguna, penghapusan, dan pemindahan otomatis belum diterapkan karena kurangnya API resmi untuk tindakan yang diperlukan dan masalah dengan penyimpanan negara.
  • Jika masalah teratasi, tindakan tersebut akan menghapus label.
  • Templat respons tindakan, tentu saja, dapat disesuaikan.

Sumber: opennet.ru

Tambah komentar