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.

Pelo menu da organização

Ao acessar a página principal da organização, selecione a opção Projetos no menu. A imagem abaixo mostra onde ela fica.

Menu da organização com a opção Projetos em destaque para iniciar a gestão de projetos no GitHub
A aba Projetos da organização reúne os projetos compartilhados por todos.

Se você ainda não sabe como funcionam as organizações, o artigo sobre gestão de organizações com GitHub explica papéis e permissões. Assim, fica mais fácil entender quem consegue ver cada projeto.

Pelo menu da equipe

Na página da equipe, o menu de opções fica na parte superior, logo abaixo do menu principal. Nele também existe a opção Projetos, e basta clicar nela para criar um projeto associado à equipe.

Página de uma equipe com a aba Projetos no menu superior
Projetos ligados a uma equipe facilitam o acompanhamento do trabalho daquele grupo.

Para entender melhor como criar e organizar equipes, consulte o artigo sobre gestão de equipes com GitHub.

Pelo menu do usuário

No canto superior direito da tela, clique na sua imagem de perfil para abrir o menu do usuário. Em seguida, selecione a opção Seus projetos.

Menu do perfil do usuário aberto com a opção Seus projetos
Os projetos pessoais ficam acessíveis pelo menu do seu perfil.

Pelo menu do repositório

Assim como na organização, o menu do repositório fica abaixo do menu superior principal. Identifique a opção Projetos e clique nela.

Menu do repositório com a aba Projetos para a gestão de projetos no GitHub
O repositório também dá acesso aos projetos vinculados a ele.

Logo depois, você chega à página de projetos. Então, clique no botão Novo projeto e selecione a primeira opção.

Tela de criação de um novo projeto com a escolha do modelo de visualização
Na criação, você escolhe o modelo inicial do projeto.

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.

Linha final do projeto com o ícone de mais para adicionar um novo item
A última linha da tabela é o ponto de entrada para novas atividades.

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.

Atividade manual criada no projeto com responsável e status preenchidos na gestão de projetos no GitHub
Depois de criada, a atividade recebe responsável e status como qualquer outro item.

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.

Página de issues do repositório com o botão para criar uma nova issue
A criação da issue acontece na página do próprio repositório.

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.

Menu lateral da issue com a seleção do projeto para a gestão de projetos no GitHub
O menu lateral da issue permite vinculá-la a um ou mais projetos.

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.

Issue vinculada ao projeto com o campo de status disponível para alteração
O status da issue no projeto pode ser alterado direto na página da issue.

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.

Menu de adição de campos com a opção Repository selecionada na gestão de projetos no GitHub
O campo Repository mostra de onde vem cada atividade do projeto.

Depois de arrastar a coluna para o início, o resultado fica assim.

Tabela do projeto com a coluna de repositório posicionada como primeira coluna
Reposicionar colunas ajuda a destacar a informação mais importante.

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.

Menu da coluna Status com a opção Editar valores
O menu da coluna dá acesso às opções do campo de seleção.

Em seguida, você chega à tela de opções. Então, adicione a opção Backlog e salve as mudanças.

Tela de edição das opções do campo Status com a nova opção Backlog
Cada opção do campo Status representa uma etapa do fluxo de trabalho.

Agora, a coluna Status tem uma opção a mais.

Coluna Status exibindo a opção Backlog entre os valores disponíveis
A nova etapa já pode ser usada em qualquer atividade do projeto.

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.

Cabeçalho da view com o indicador de mudanças não salvas na gestão de projetos no GitHub
O ponto ao lado do nome da view avisa que há alterações pendentes.

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.

Menu da view aberto com a opção Salvar mudanças
Salvar a view compartilha a nova configuração com toda a equipe.

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.

Glossário

Termo Significado
GitHub Projects Ferramenta do GitHub para planejar e acompanhar trabalho com tabelas, quadros e roteiros.
Issue Registro de uma tarefa, problema ou correção dentro de um repositório.
Pull request Solicitação para integrar mudanças de código em um branch.
Rascunho de issue Atividade criada só dentro do projeto, que pode virar uma issue depois.
View Forma salva de visualizar os itens do projeto, com layout, filtros e ordenação.
Kanban Método visual que organiza atividades em cartões e colunas por etapa.
Backlog Lista de atividades que aguardam desenvolvimento.
Workflow Automação embutida que altera campos quando itens entram ou mudam.

Fontes