{"id":89644,"date":"2020-07-24T19:42:01","date_gmt":"2020-07-24T17:42:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya"},"modified":"2020-07-24T19:42:01","modified_gmt":"2020-07-24T17:42:01","slug":"issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya","title":{"rendered":"Udgiver \u2014 GitHub-handling til tvungen selvbetjening af repository-brugere","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Som en del af projektet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KOLANICH\/issuer\">Udgiver<\/a><\/noindex> Der er udviklet en bot til GitHub, der l\u00f8ser opgaver for brugerselvbetjening i et repository. P\u00e5 GitHub findes der repositories, hvis eneste funktion er at koordinere mennesker via Issues-systemet. I nogle af dem skal de, der opretter Issues, udfylde en formular. Derefter kommer en moderator, tjekker formularens korrekthed og tilf\u00f8jer tags i henhold til dem, der er angivet i formularen (tags kan kun tilf\u00f8jes af en privilegeret bruger, hvis de ikke er angivet i skabelonen). Et eksempel p\u00e5 et s\u00e5dant f\u00e6llesskab er <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/open-source-ideas\/open-source-ideas\">open-source-ideas\/open-source-ideas<\/a><\/noindex>.<\/p>\n<p>Moderatoren kommer ikke \u00f8jeblikkeligt. Derfor for at tjekke formularer og udf\u00f8re operationer <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KOLANICH\/issuer\">forberedt<\/a><\/noindex> den pr\u00e6senterede GitHub-h\u00e6ndelse. Bot'en er skrevet i Python, men den skal stadig k\u00f8res gennem node.js, da GitHub kun har to typer handlinger - node.js og docker, og for docker skal den samme container, hvor node.js ogs\u00e5 er, f\u00f8rst indl\u00e6ses, hvorefter en anden container indl\u00e6ses, hvilket tager tid. Givet at python3 og alt andet n\u00f8dvendigt allerede er i den container med node.js, er det fornuftigt bare at indl\u00e6se afh\u00e6ngighederne, da de heldigvis er sm\u00e5. <\/p>\n<p>Egenskaber:<\/p>\n<ul>\n<li class=\"l\"> Handlingen styres ved hj\u00e6lp af YAML-konfiguration og Markdown-skabeloner;\n<li class=\"l\"> Hver Markdown-skabelon f\u00e5r et blok, der beskriver vilk\u00e5rene for korrekt udfyldelse af formularen og \u00f8nskede handlinger;\n<li class=\"l\"> Der tilf\u00f8jes en konfigurationsfil med globale indstillinger;\n<li class=\"l\"> Formularer best\u00e5r af sektioner. Der er 2 typer sektioner:\n<ul>\n<li class=\"l\"> Fri tekst. Handlingen kan kontrollere, at brugeren har gjort sig umage med at udfylde noget der. Men meningsfuldheden af teksten kontrolleres automatisk ikke.\n<li class=\"l\"> Checkboxe. Man kan kr\u00e6ve udfyldning af n checkboxe, s\u00e5 0 {= m1 {= n {= m2 {= det samlede antal checkboxe i sektionen. Handlingen tjekker, at checkboxene svarer til dem i skabelonen. Hvis checkboxene er angivet korrekt, kan handlingen h\u00e6nge tags p\u00e5 issue, der svarer til checkboxene.\n<\/ul>\n<li class=\"l\"> Hvis formularen er udfyldt forkert, instruerer handlingen brugeren i, hvordan den skal udfyldes korrekt, og h\u00e6nger en s\u00e6rlig markering op.\n<li class=\"l\"> Hvis formen ikke rettes inden for en bestemt tid, kan handlingen lukke issue. Automatisk banning af brugere, sletning og flytning af issues er endnu ikke implementeret p\u00e5 grund af manglende officiel API til de n\u00f8dvendige handlinger og problemer med tilstandslagring.\n<li class=\"l\"> Hvis problemet er l\u00f8st, sletter handlingen m\u00e6rket.\n<li class=\"l\"> Skabeloner til svar p\u00e5 handlinger kan naturligvis tilpasses.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53420\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Issuer \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0431\u043e\u0442 \u0434\u043b\u044f GitHub, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f. \u041d\u0430 GitHub \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 &#8212; \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0446\u0438\u044f \u043b\u044e\u0434\u0435\u0439 \u0447\u0435\u0440\u0435\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Issue. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437 \u043d\u0438\u0445 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u043c Issue \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443. \u041f\u043e\u0442\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043c\u043e\u0434\u0435\u0440\u0430\u0442\u043e\u0440, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u044b, \u0438 \u0440\u0430\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u0433\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0435 (\u0442\u0435\u0433\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-89644","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Issuer \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0431\u043e\u0442 \u0434\u043b\u044f GitHub, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Issuer \u2014 GitHub-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Issuer \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0431\u043e\u0442 \u0434\u043b\u044f GitHub, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-24T17:42:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-24T17:42:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Issuer \u2014 GitHub-handling til tvungen selvbetjening for brugere af opbevaringen | ProHoster","description":"Som en del af Issuer-projektet er der blevet udviklet en bot til GitHub, der h\u00e5ndterer opgaver om tvungen selvbetjening for brugere af opbevaringen.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Issuer \u2014 GitHub-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f | ProHoster","og:description":"\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Issuer \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0431\u043e\u0442 \u0434\u043b\u044f GitHub, \u0440\u0435\u0448\u0430\u044e\u0449\u0438\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u0430\u043c\u043e\u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/issuer-github-dejstvie-dlya-prinuditelnogo-samoobsluzhivaniya-polzovatelej-repozitoriya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-24T17:42:01+00:00","article:modified_time":"2020-07-24T17:42:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"89644","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:07:21","updated":"2022-10-04 07:56:30","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/89644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=89644"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/89644\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=89644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=89644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=89644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}