Gestão de projetos com GitHub
A gestão de projetos no GitHub vai muito além do versionamento de código, porque a plataforma oferece o GitHub Projects para planejar e acompanhar o trabalho. Neste artigo, você aprende a criar um projeto, adicionar atividades e personalizar a visualização para o seu modo de trabalhar.
No ambiente de trabalho, usamos tecnologias muito diferentes, mas uma coisa é certa: o projeto precisa de versionamento. O GitHub é excelente nesse quesito, porém "nem só de versionamento vive o GitHub".
Este artigo tem caráter introdutório. Por isso, ele apresenta as ferramentas destinadas à gestão de projetos e mostra as etapas iniciais desse processo, passo a passo.
Gestão de projetos no GitHub com o GitHub Projects
O GitHub Projects é um conjunto de ferramentas e recursos que traz mais produtividade e organização para os projetos. Segundo a documentação oficial do GitHub Projects, ele é uma ferramenta flexível para planejar e acompanhar o trabalho no GitHub.
Com o quadro de projetos, você define fluxos de trabalho e organiza as atividades de cada equipe na gestão de projetos no GitHub. Além disso, consegue acompanhar quem está com cada tarefa e em que etapa ela se encontra.
Na gestão de projetos no GitHub, o projeto também se integra às issues e aos pull requests dos repositórios. Assim, quando uma issue muda no repositório, a mudança aparece no projeto, e o contrário também acontece.
Também é possível automatizar fluxos de trabalho com base em eventos. Esse recurso merece um artigo próprio, mas ao final você terá uma visão geral do que ele oferece.
Itens, campos e views da gestão de projetos no GitHub
Antes de criar o primeiro projeto, vale entender três conceitos que aparecem o tempo todo. Eles formam a base da gestão de projetos no GitHub.
Os itens são as atividades do projeto, ou seja, issues, pull requests e rascunhos de issue. Já os campos guardam informações sobre cada item, como responsável, status, prioridade ou data.
Por fim, as views são formas de enxergar os mesmos itens. Você pode usar uma tabela densa, um quadro no estilo Kanban ou um roteiro em linha do tempo.
Como iniciar a gestão de projetos no GitHub
Dentro do GitHub, temos organizações, equipes e repositórios. Cada um deles pode ter vários projetos vinculados, e um único projeto pode reunir atividades de várias origens.
Por isso, a gestão de projetos no GitHub oferece diferentes caminhos para chegar à página de projetos. A seguir, você confere cada um deles.
Na prática, o ponto de partida define onde o projeto fica guardado. Um projeto criado na organização pertence ao grupo, enquanto um projeto pessoal fica ligado à sua conta.
Modelos para a gestão de projetos no GitHub
Na criação do projeto, o GitHub oferece modelos diferentes de visualização. No exemplo deste artigo, selecionamos o modelo planilha, mas vale conhecer os dois principais.
Modelo planilha
O modelo planilha usa modelos de visualização, colunas, linhas e células. Nele, as atividades aparecem de forma personalizada, e as colunas iniciais são Título, Responsável e Estado da atividade.
Na gestão de projetos no GitHub, esse formato é ideal para quem precisa ver muitos itens ao mesmo tempo. Além disso, ele facilita ordenar, filtrar e agrupar as atividades por qualquer campo.
Modelo Kanban
O modelo Kanban, que não selecionamos aqui, é bem conhecido. Nele, as atividades aparecem como cartões com um resumo das informações, e um clique abre uma janela com os detalhes.
A estrutura inicial tem as colunas Para fazer, Em andamento e Concluído. Contudo, você pode modificar essa estrutura, adicionar novas colunas e configurar automações.
Na gestão de projetos no GitHub, a escolha inicial não prende você a um formato. Afinal, é possível mudar o layout de uma view depois, como veremos adiante.
Adicionando atividades na gestão de projetos no GitHub
Na gestão de projetos no GitHub, uma atividade pode ser uma issue, um pull request ou um texto escrito manualmente. As issues representam tarefas, problemas e correções, enquanto os pull requests são solicitações para integrar código.
A seguir, você aprende a adicionar atividades de forma manual e a partir de uma issue.
Essa variedade é uma das vantagens da gestão de projetos no GitHub, porque o planejamento e o código ficam no mesmo lugar. Assim, ninguém precisa copiar tarefas de uma ferramenta para outra.
Atividade manual
Para adicionar uma atividade manual, use o atalho Ctrl + Espaço ou selecione o ícone de + na lateral esquerda das linhas do projeto. A imagem mostra essa opção.
Digite o título da atividade e pressione Enter para salvar. Logo em seguida, você pode atribuir alguém, ou você mesmo, e definir o estado atual da atividade.
Na documentação atual, essa atividade manual se chama rascunho de issue. Ela existe apenas dentro do projeto até você convertê-la em uma issue de verdade.
Enquanto for rascunho, ela não gera notificações. Por isso, use esse recurso para ideias rápidas e converta quando a tarefa estiver mais madura.
Atividade a partir de uma issue
Adicionar uma atividade a partir de uma issue, ou associar uma issue ao projeto, também é simples. Primeiro, vamos criar uma issue de exemplo no repositório que desejamos associar ao projeto.
Observe que estamos na página do repositório, onde aparece o botão Novo issue. Então, preencha as informações da issue normalmente.
Ao preencher a issue, selecione a opção de projetos no menu lateral direito. Assim, você associa a issue a um projeto específico.
Caso o seu projeto não apareça na lista, verifique as permissões do projeto, do usuário, da organização ou da equipe. Afinal, esse é o motivo mais comum para o projeto não aparecer.
Depois de atribuir a issue a um projeto, aparece a opção de marcar o estado atual dela. Dessa forma, o status fica sincronizado com o projeto.
Na gestão de projetos no GitHub, o mesmo processo serve para atribuir um pull request ao projeto. Ou seja, qualquer código em revisão também entra no acompanhamento.
Outras formas de adicionar itens
Além desses dois caminhos, a documentação lista outras opções úteis. Por exemplo, você pode colar a URL de uma issue ou de um pull request na última linha da tabela.
Também dá para digitar # na linha de adição e buscar itens por repositório, número ou título. Já a opção Add item from repository adiciona vários itens de uma vez, com filtros como label:bug.
Outra alternativa é a paleta de comandos, aberta com Ctrl + K no Windows e no Linux ou Command + K no Mac. Nela, a opção Add items leva ao mesmo resultado.
Cada projeto aceita até 50 mil itens, somando views ativas e arquivo. Portanto, mesmo projetos grandes cabem com folga.
Personalizando views na gestão de projetos no GitHub
Como dissemos antes, você pode personalizar colunas, células e views de um projeto. Assim, a gestão de projetos no GitHub se adapta ao seu modelo de trabalho, e não o contrário.
Adicionando colunas
Para adicionar uma coluna, clique no ícone de + no final dos títulos das colunas. Depois, escolha entre criar um campo personalizado, definindo título e tipo, ou usar um campo que o Projects já oferece.
No exemplo abaixo, selecionamos um campo pronto que exibe o nome do repositório. Com isso, sabemos o contexto de cada atividade.
Depois de arrastar a coluna para o início, o resultado fica assim.
Os campos personalizados aceitam texto, número, data, seleção única e iteração. Além disso, existem campos prontos como responsáveis, labels, milestone, pull requests vinculados e revisores.
Na gestão de projetos no GitHub, o limite é de 50 campos por projeto, somando os prontos e os personalizados. Na prática, isso é mais do que suficiente para a maioria das equipes.
Nova opção na coluna Status
Agora, vamos adicionar a opção Backlog na coluna Status para mapear as atividades que aguardam desenvolvimento. Para isso, clique no botão ao lado do título da coluna e selecione Editar valores.
Em seguida, você chega à tela de opções. Então, adicione a opção Backlog e salve as mudanças.
Agora, a coluna Status tem uma opção a mais.
Salvando as mudanças da view
Atenção, porque as modificações na view ainda não estão salvas. Antes de sair da página, verifique sempre se existe o indicador de mudanças não salvas no cabeçalho da view.
Segundo a documentação, se você não salvar, ninguém mais verá essas mudanças. Para salvar, clique no botão ao lado do título da view e selecione Salvar mudanças.
Ao abrir as opções da view, você também pode mudar para o modelo Kanban, com colunas e cartões. Além disso, dá para reordenar, filtrar e salvar tudo em uma view diferente, mantendo a original.
Novas views ficam salvas automaticamente quando você as cria. Da mesma forma, renomear ou reordenar as abas das views também salva na hora.
Uma prática comum na gestão de projetos no GitHub é manter uma view por público. Por exemplo, a equipe usa um quadro Kanban no dia a dia, enquanto a liderança acompanha uma tabela agrupada por prioridade.
Automação na gestão de projetos no GitHub
Embora este artigo seja introdutório, vale conhecer o que a automação oferece. Afinal, ela elimina boa parte do trabalho repetitivo da gestão de projetos no GitHub.
Os fluxos de trabalho embutidos definem campos automaticamente quando itens entram ou mudam. Por exemplo, dois fluxos já vêm ativos: issues e pull requests fechados passam para Done, assim como pull requests mesclados.
Também existem fluxos para arquivar itens automaticamente e para adicionar itens de um repositório que atendam a um filtro. Para configurá-los, abra o menu do projeto, escolha Workflows e edite o fluxo desejado.
Para cenários mais avançados, a documentação cita a API GraphQL e o GitHub Actions. Se você quer conhecer o Actions, veja o artigo sobre deploy de ASP.NET com GitHub Actions e Microsoft Azure.
Além disso, o recurso de insights cria gráficos personalizados a partir dos dados do projeto. Com isso, você acompanha a evolução do trabalho sem sair do GitHub.
Próximos passos na gestão de projetos no GitHub
Agora é com você: use os recursos do Projects nos seus projetos pessoais para praticar. Isso vai mostrar os prós e contras da ferramenta e também ajudar você a entender como trabalha melhor.
Uma boa sequência para praticar a gestão de projetos no GitHub é criar um projeto pessoal, adicionar algumas issues e testar as views de tabela e de quadro. Depois, experimente adicionar um campo de prioridade e uma opção de Backlog.
Se você ainda está começando com Git, comece pelo artigo Git e GitHub: instalação, configuração e primeiros passos. Para uma visão geral da série, leia também GitHub: trabalhando com projetos, equipes e organizações.
Para ir além, confira GitHub Packages e GitHub Actions para distribuir contextos delimitados. E, para dominar o controle de versão, o curso gratuito Fundamentos do Git e Azure DevOps é um ótimo próximo passo.
FAQ
O GitHub Projects é gratuito?
Sim, o GitHub Projects está disponível para contas pessoais e organizações. Você cria projetos e views sem precisar de um plano pago.
Qual a diferença entre o modelo planilha e o Kanban?
O modelo planilha mostra os itens em linhas e colunas, ideal para muitos dados. Já o Kanban mostra cartões em colunas de status, ideal para acompanhar o fluxo.
Posso adicionar issues de repositórios diferentes no mesmo projeto?
Sim, um projeto reúne issues e pull requests de vários repositórios. O campo Repository ajuda a identificar a origem de cada item.
Por que meu projeto não aparece na issue?
Normalmente, o problema está nas permissões do projeto, do usuário, da organização ou da equipe. Verifique se você tem acesso ao projeto e ao repositório.
As mudanças na view são salvas automaticamente?
Não, alterações como filtros, ordenação e novas colunas exigem a opção Salvar mudanças. Já criar, renomear e reordenar views salva automaticamente.