Naglunsad ang GitHub ng isang bot para sa awtomatikong pagmo-moderate ng problema

Bilang bahagi ng proyekto ng Issuer, isang bot ay inihanda para sa GitHub na malulutas ang mga gawain ng awtomatikong pagmo-moderate ang sistema ng pagsubaybay sa GitHub. Sa GitHub maaari kang makahanap ng mga repository na ang nag-iisang pag-andar ay upang coordinate ang mga tao sa pamamagitan ng sistema ng Isyu.

Sa ilan sa kanila, kapag lumalabas sa Isyu sasabihan ka upang punan ang isang form, tapos nakita komagkaroon ng isang moderator, suriin ang kawastuhan ng pagpunan ng form at mga post tag alinsunod sa mga tinukoy sa form (ang mga tag ay maaari lamang mag-hang ng isang may pribilehiyong gumagamit kung hindi sila tinukoy sa template). Ang isang halimbawa ng naturang pamayanan ay ang pamayanan ng Open Source Ideas.

Ang moderator ay hindi agad dumating. Samakatuwid, Ang isang aksyon na GitHub na itinampok sa balita ay inihanda upang patunayan ang mga form at magsagawa ng mga pagpapatakbo.

Ang bot ay nakasulat sa Python, ngunit kailangan pa rin itong patakbuhin sa pamamagitan ng node.js, dahil ang GitHub ay mayroon lamang 2 uri ng mga pagkilos: node.js at docker at para sa docker, una ang parehong lalagyan bilang node.js ay na-load at na-load ito sa ibang lalagyan na Ito ay mahaba.

Isinasaalang-alang ang python3 at lahat ng kailangan mo ay nasa lalagyan na may node.js, makatuwiran na mai-load lamang ang mga dependency dito dahil maliit ang mga ito.

Ito ay isang aksyon na GitHub na may 3 mga function na konektado para sa pamamahala ng problema.

Suriin kung ang mga papasok na problema ay tumutugma sa template sa anumang paraan:

Na ang mga seksyon ay hindi naglalaman ng mga linya mula sa default na template (karaniwang naroroon kapag ang isang gumagamit ay hindi nag-abala upang makumpleto ang seksyon).

Na ang mga seksyon na naglalaman ng mga checkbox na itatakda bilang mga label ay naglalaman lamang ng mga checkbox na naroroon sa orihinal na template

Na ang bawat seksyon ay may isang bilang ng mga kahon na minarkahan sa saklaw na [min, max]

Magtakda ng mga label ayon sa mga naka-check box.

Awtomatikong isinasara ang mga problema kung hindi naayos ng may-akda ang mga problemang naka-highlight ng linter sa loob ng isang tiyak na tagal ng panahon.

Ang paggamit ng isang nakatuong tao upang magtalaga ng mga label ay isang pasanin, dahil pinakamahusay na payagan ang mga gumagamit na gawin ang "self-service." Maaaring magtalaga ang mga gumagamit ng ilang mga label sa mga isyu ng isang pinaghihigpitang subset na maaaring gawin sa pamamagitan ng isang extension ng Markdown at mga checkbox.

Gamit ito kapag sinuri ng isang gumagamit ang mga checkbox o mga radio button ang bot ay nagtatakda ng mga label nang naaayon.

Sa mga katangiang namumukod ng bot na ito na inihanda, ang mga sumusunod:

  • Ang pagkilos ay kinokontrol ng mga setting ng YAML at ang mga template ng Markdown;
  • Ang isang bloke ay idinagdag sa bawat template ng Markdown na naglalarawan sa mga kundisyon para sa tamang pagpuno ng form at mga nais na pagkilos;
  • Ang isang file ng pagsasaayos na may pandaigdigang mga setting ay idinagdag;
  • Ang mga form ay binubuo ng mga seksyon.
  • Mayroong 2 uri ng mga seksyon:
    Libreng teksto: Maaaring i-verify ng aksyon na nag-abala ang gumagamit upang makumpleto ang isang bagay. Ang kahulugan ng teksto ay hindi awtomatikong napatunayan.
    Sa mga checkbox n bilang ng mga watawat ang maaaring hilingin at / o makumpleto, upang ang 0 {= m1 {= n {= m2 {= kabuuang bilang ng mga watawat sa seksyon.
  • Pinatutunayan ng pagkilos na tumutugma ang mga kahon sa mga kahon sa template. Kung ang mga watawat ay naitakda nang tama, ang pagkilos ay maaaring mag-hang sa mga tag ng problema, resp. Mga Checkbox.
  • Kung ang form ay maling nakumpleto, ang aksyon ay nagtuturo sa gumagamit kung paano ito kumpletuhin nang tama at nagdaragdag ng isang espesyal na tag.
  • Kung ang form ay hindi naitama sa loob ng isang tiyak na oras, maaaring isara ng aksyon ang problema. Ang awtomatikong pagbabawal ng gumagamit, pagtanggal, at paglipat ng isyu ay hindi pa maipapatupad dahil sa kawalan ng isang opisyal na API para sa mga kinakailangang aksyon at isyu sa estado ng pag-iimbak.
  • Kung naayos ang problema, aalisin ng aksyon ang marka.
  • Ang tugon sa mga template ng pagkilos ay, siyempre, napapasadyang.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye sa pamamagitan ng pagpunta sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.