{"id":232172,"date":"2023-01-09T12:00:00","date_gmt":"2023-01-09T09:00:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232172"},"modified":"2022-11-10T07:55:26","modified_gmt":"2022-11-10T04:55:26","slug":"acelere-a-criacao-de-problemas-do-github","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/acelere-a-criacao-de-problemas-do-github\/","title":{"rendered":"Acelere a cria\u00e7\u00e3o de problemas do GitHub"},"content":{"rendered":"\n<p>Os problemas do GitHub s\u00e3o fant\u00e1sticos para rastrear novos recursos ou bugs, quem \u00e9 atribu\u00eddo, categoriz\u00e1-los, adicionar a projetos e assim por diante. Eles tamb\u00e9m s\u00e3o muito lentos para criar, e criar um monte deles leva muito tempo. Ent\u00e3o eu criei uma pequena ferramenta para acelerar a cria\u00e7\u00e3o de problemas e torn\u00e1-lo muito f\u00e1cil.<\/p>\n<p>Um dos pontos problem\u00e1ticos que vejo nos problemas do <a href=\"https:\/\/startfunction.com\/tag\/github\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub<\/a> no trabalho \u00e9 que eles s\u00e3o complicados de criar, principalmente para aqueles que n\u00e3o s\u00e3o desenvolvedores, como gerentes, designers ou testadores, e que simplesmente desejam relatar um bug, mas n\u00e3o passam o processo de cri\u00e1-los no GitHub.<\/p>\n<h3>A cria\u00e7\u00e3o de problemas no GitHub deve ser r\u00e1pida<\/h3>\n<p>Ent\u00e3o, qual \u00e9 a intera\u00e7\u00e3o mais f\u00e1cil com computadores, escrevendo, talvez? N\u00e3o sei se \u00e9 o mais f\u00e1cil, mas com certeza \u00e9 f\u00e1cil. Portanto, nesta caixa de texto simples, os problemas podem ser escritos e cada linha ser\u00e1 um problema. Voc\u00ea apenas digita e digita e n\u00e3o tira as m\u00e3os do teclado para pegar o mouse. Voc\u00ea tamb\u00e9m pode colar uma lista criada em um editor de texto ou planilha.<\/p>\n<p>Tem flexibilidade: voc\u00ea pode atribuir o problema a algu\u00e9m (ou muitos, separando os nomes de usu\u00e1rio com v\u00edrgulas) separando o t\u00edtulo do nome de usu\u00e1rio com um caractere de barra vertical. Outro tubo separa a descri\u00e7\u00e3o, e ainda outro tubo separa os r\u00f3tulos, que podem ser muitos, separando-os com v\u00edrgulas.<\/p>\n<p><strong>Atualiza\u00e7\u00e3o:<\/strong> o aplicativo est\u00e1 dispon\u00edvel em <a href=\"https:\/\/fast-issues.herokuapp.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/fast-issues.herokuapp.com\/<\/a><\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158127-61e6ca66df766.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-158127-61e6ca66df766.png\" alt=\"Acelere a cria\u00e7\u00e3o de problemas do GitHub\" ><\/a><\/p>\n<h3>Vis\u00e3o geral t\u00e9cnica<\/h3>\n<p>Este projeto ~ainda n\u00e3o est\u00e1 totalmente desenvolvido, mas j\u00e1 \u00e9~ p\u00fablico em<\/p>\n<p><a href=\"https:\/\/github.com\/eliorivero\/first-five\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/github.com\/eliorivero\/fast-issues<\/a> <a href=\"https:\/\/github.com\/eliorivero\/fast-issues\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">_<\/a><\/p>\n<p>Como uma vis\u00e3o geral:<\/p>\n<ul>\n<li>\u00e9 um aplicativo GitHub que pode ser instalado no reposit\u00f3rio onde os problemas ser\u00e3o criados<\/li>\n<li>tem um back-end Node.js com o Express como servidor<\/li>\n<li>o front-end \u00e9 constru\u00eddo com React<\/li>\n<li>as principais bibliotecas para trabalhar rapidamente com o GitHub no Node foram <a href=\"https:\/\/github.com\/octokit\/app.js\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/github.com\/octokit\/app.js<\/a> e <a href=\"https:\/\/github.com\/octokit\/rest.js\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">https:\/\/github.com\/octokit\/rest.js\/<\/a><\/li>\n<\/ul>\n<p>Uma coisa a ter em mente \u00e9 que n\u00e3o queremos atingir os limites da API. O GitHub recomenda deixar pelo menos um segundo entre as solicita\u00e7\u00f5es. Pausei o script 1,5 segundos entre cada solicita\u00e7\u00e3o de cria\u00e7\u00e3o de problema, \u00e9 por isso que voc\u00ea ver\u00e1 no GIF acima que os problemas n\u00e3o s\u00e3o criados instantaneamente.<\/p>\n<h3>Mais ideias<\/h3>\n<p>Mostrei isso a um amigo e ele me disse que tinha a ideia de criar uma extens\u00e3o do Chrome para tirar uma captura de tela de um bug, anot\u00e1-lo e envi\u00e1-lo como um problema do GitHub. Achei uma \u00f3tima ideia e procurei uma forma de fazer uma captura de tela, mas dentro de um aplicativo React e rapidamente encontrei o <a href=\"https:\/\/html2canvas.hertzen.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">html2canvas<\/a> que permite fazer capturas de tela e salv\u00e1-las como arquivos PNG.<\/p>\n<p>Combinar algo assim com minha ferramenta para criar os problemas seria uma boa solu\u00e7\u00e3o que poderia estar dispon\u00edvel em um aplicativo React durante seu ciclo de desenvolvimento ou teste. Qualquer pessoa que teste o aplicativo pode acionar o painel de relat\u00f3rios de problemas e enviar um problema do GitHub. A imagem ainda teria que ser armazenada em outro servidor, pois a partir de agora, a API Issues \u00e9 limitada e n\u00e3o permite o upload de imagens.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitHub s\u00e3o fant\u00e1sticos, mas lentos para criar. Eu criei uma pequena ferramenta que facilita a cria\u00e7\u00e3o de problemas do GitHub usando apenas texto simples!<\/p>\n","protected":false},"author":1,"featured_media":158128,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[898,722,774,837,785,846],"tags":[1170],"class_list":["post-232172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-2","category-desenvolvedor","category-fonte-de-controle","category-guia-para-iniciantes","category-software-livre","category-tutoriais","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=232172"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/232172\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/158128"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=232172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=232172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=232172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}