Emittent - Azzjoni GitHub biex tisforza self-service għall-utenti tar-repożitorju

Fil-konfini tal-proġett Emittent ġie ppreparat bot għal GitHub, li jsolvi problemi ta 'self-service sfurzat għall-utenti tar-repożitorju. Fuq GitHub tista' ssib repożitorji li l-unika funzjoni tagħhom hija li jikkoordinaw in-nies permezz tas-sistema tal-Ħruġ. Xi wħud minnhom jitolbu lil dawk li jħallu Ħruġ biex jimlew formola. Imbagħad jiġi moderatur, jiċċekkja li l-formola tkun mimlija b'mod korrett, u jpoġġi tikketti skont dawk speċifikati fil-formola (tags jistgħu jiżdiedu biss minn utent privileġġjat jekk ma jkunux speċifikati fil-mudell). Eżempju ta’ komunità bħal din hija ideat-sors miftuħ/ideat-sors miftuħ.

Il-moderatur ma jasalx immedjatament. Għalhekk, biex tivvalida formoli u twettaq operazzjonijiet ippreparat dehru fl-aħbarijiet ta' GitHub. Il-bot huwa miktub f'Python, iżda xorta trid tniedih permezz ta' node.js, peress li GitHub għandu biss 2 tipi ta' azzjonijiet - node.js u docker, u għal docker, l-istess kontenitur l-ewwel jitgħabba bħala node.js, u mgħobbija fih kontenitur ieħor, dak huwa żmien twil. Meta wieħed iqis li l-kontenitur b'node.js fih python3 u kull ħaġa oħra li għandek bżonn, huwa razzjonali li sempliċement tagħbija d-dipendenzi fih, peress li huma żgħar.

Karatteristiċi:

  • L-azzjoni hija kkontrollata billi tuża YAML config u Markdown templates;
  • Ma' kull mudell Markdown tiżdied blokka li tiddeskrivi l-kundizzjonijiet biex timtela b'mod korrett il-formola u l-azzjonijiet mixtieqa;
  • Jiġi miżjud fajl ta' konfigurazzjoni b'settings globali;
  • Il-formoli jikkonsistu f'taqsimiet. Hemm 2 tipi ta' sezzjonijiet:
    • Test liberu. L-azzjoni tista 'tiċċekkja li l-utent iddejjaq jimla xi ħaġa hemmhekk. It-tifsira tat-test ma tiġix verifikata awtomatikament.
    • Kaxxi ta' kontroll. Tista' teħtieġ li jimtlew n kaxxi ta' kontroll b'tali mod li 0 {= m1 {= n {= m2 {= numru totali ta' kaxxi ta' kontroll fit-taqsima. L-azzjoni tiċċekkja li l-kaxxi ta' kontroll jaqblu mal-kaxxi ta' kontroll fil-mudell. Jekk il-bnadar huma ssettjati b'mod korrett, l-azzjoni tista 'żżid tikketti għall-ħruġ, rispettivament. bnadar.
  • Jekk il-formola timtela ħażin, l-azzjoni tagħti struzzjonijiet lill-utent kif jimlaha b'mod korrett u tpoġġi tikketta speċjali fuqha.
  • Jekk il-formola ma tiġix ikkoreġuta f'ċertu żmien, allura l-azzjoni tista' tagħlaq il-kwistjoni. Il-projbizzjoni awtomatika tal-utenti, it-tħassir u ċ-ċaqliq ta 'kwistjonijiet għadha ma ġietx implimentata minħabba n-nuqqas ta' API uffiċjali għall-azzjonijiet meħtieġa u l-problemi bil-ħażna tal-istat.
  • Jekk il-problema tiġi solvuta, l-azzjoni tneħħi t-tikketta.
  • Il-mudelli tar-rispons għall-azzjoni huma, ovvjament, customizable.

Sors: opennet.ru

Żid kumment