Tagapagbigay - Aksyon ng GitHub upang pilitin ang self-service ng mga user ng repositoryo

Sa mga hangganan ng proyekto Tagapag-isyu ang isang bot ay inihanda para sa GitHub, paglutas ng mga problema ng sapilitang self-service para sa mga gumagamit ng repositoryo. Sa GitHub makakahanap ka ng mga repository na ang tanging function ay upang i-coordinate ang mga tao sa pamamagitan ng Issue system. Ang ilan sa kanila ay humihiling sa mga umaalis sa isang Isyu na punan ang isang form. Pagkatapos ay dumating ang isang moderator, tinitingnan kung napunan nang tama ang form, at naglalagay ng mga tag alinsunod sa mga tinukoy sa form (maaari lamang idagdag ang mga tag ng isang may pribilehiyong user kung hindi ito tinukoy sa template). Isang halimbawa ng naturang pamayanan ay open-source-ideas/open-source-ideas.

Hindi agad dumarating ang moderator. Samakatuwid, upang patunayan ang mga form at magsagawa ng mga operasyon pinaghandaan itinampok sa balita ng GitHub. Ang bot ay nakasulat sa Python, ngunit kailangan mo pa ring ilunsad ito sa pamamagitan ng node.js, dahil ang GitHub ay mayroon lamang 2 uri ng mga aksyon - node.js at docker, at para sa docker, ang parehong container ay unang na-load bilang node.js, at nilagyan ng isa pang lalagyan, matagal na yun. Isinasaalang-alang na ang lalagyan na may node.js ay naglalaman ng python3 at lahat ng iba pang kailangan mo, makatuwiran na i-load lang ang mga dependency dito, dahil maliit ang mga ito.

Mga Tampok:

  • Ang aksyon ay kinokontrol gamit ang YAML config at Markdown na mga template;
  • Ang isang bloke ay idinagdag sa bawat template ng Markdown na naglalarawan sa mga kundisyon para sa wastong pagsagot sa form at ang mga gustong aksyon;
  • Isang configuration file na may mga pandaigdigang setting ay idinagdag;
  • Ang mga form ay binubuo ng mga seksyon. Mayroong 2 uri ng mga seksyon:
    • Libreng text. Maaaring suriin ng pagkilos na ang user ay nag-abala na punan ang isang bagay doon. Ang kahulugan ng teksto ay hindi awtomatikong sinusuri.
    • Mga checkbox. Maaari mong hilingin na punan ang n checkbox na 0 {= m1 {= n {= m2 {= kabuuang bilang ng mga checkbox sa seksyon. Sinusuri ng pagkilos na tumutugma ang mga checkbox sa mga checkbox sa template. Kung naitakda nang tama ang mga flag, maaaring magdagdag ang pagkilos ng mga tag na ilalabas, ayon sa pagkakabanggit. mga watawat.
  • Kung ang form ay napunan nang hindi tama, ang aksyon ay nagtuturo sa gumagamit kung paano sagutan ito ng tama at naglalagay ng isang espesyal na label dito.
  • Kung hindi naitama ang form sa loob ng isang partikular na oras, maaaring isara ng aksyon ang isyu. Ang awtomatikong pag-ban sa mga user, pagtanggal at paglilipat ng mga isyu ay hindi pa naipapatupad dahil sa kakulangan ng opisyal na API para sa mga kinakailangang aksyon at problema sa imbakan ng estado.
  • Kung naresolba ang problema, aalisin ng aksyon ang label.
  • Ang mga template ng pagtugon sa pagkilos ay, siyempre, nako-customize.

Pinagmulan: opennet.ru

Magdagdag ng komento