Visão Geral

Permita que seus agentes gerenciem issues, projetos e fluxos de trabalho de desenvolvimento através do Linear. Crie e atualize issues, gerencie cronogramas de projetos, organize equipes e otimize seu processo de desenvolvimento de software com automação impulsionada por IA.

Pré-requisitos

Antes de utilizar a integração com o Linear, certifique-se de que você possui:

Configurando a Integração com o Linear

1. Conecte sua Conta Linear

  1. Navegue até Integrações CrewAI Enterprise
  2. Encontre Linear na seção Integrações de Autenticação
  3. Clique em Conectar e complete o fluxo OAuth
  4. Conceda as permissões necessárias para gerenciamento de issues e projetos
  5. Copie seu Token Empresarial em Configurações da Conta

2. Instale o Pacote Necessário

uv add crewai-tools

Ações Disponíveis

Exemplos de Uso

Configuração Básica do Agente Linear

from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools

# Obtenha ferramentas empresariais (ferramentas do Linear serão incluídas)
enterprise_tools = CrewaiEnterpriseTools(
    enterprise_token="your_enterprise_token"
)

# Crie um agente com funcionalidades do Linear
linear_agent = Agent(
    role="Development Manager",
    goal="Gerenciar issues do Linear e acompanhar o progresso do desenvolvimento de forma eficiente",
    backstory="Um assistente de IA especializado em gerenciamento de projetos de desenvolvimento de software.",
    tools=[enterprise_tools]
)

# Tarefa para criar um relatório de bug
create_bug_task = Task(
    description="Crie um relatório de bug de alta prioridade para o sistema de autenticação e atribua à equipe de backend",
    agent=linear_agent,
    expected_output="Bug report criado com sucesso com ID da issue"
)

# Execute a tarefa
crew = Crew(
    agents=[linear_agent],
    tasks=[create_bug_task]
)

crew.kickoff()

Filtrando Ferramentas Lineares Específicas

from crewai_tools import CrewaiEnterpriseTools

# Obtenha apenas ferramentas lineares específicas
enterprise_tools = CrewaiEnterpriseTools(
    enterprise_token="your_enterprise_token",
    actions_list=["linear_create_issue", "linear_update_issue", "linear_search_issue"]
)

issue_manager = Agent(
    role="Issue Manager",
    goal="Criar e gerenciar issues no Linear de forma eficiente",
    backstory="Um assistente de IA focado na criação e no gerenciamento do ciclo de vida de issues.",
    tools=enterprise_tools
)

# Tarefa para gerenciar fluxo de issues
issue_workflow = Task(
    description="Crie uma issue de solicitação de recurso e atualize os status das issues relacionadas para refletir o progresso atual",
    agent=issue_manager,
    expected_output="Solicitação de recurso criada e issues relacionadas atualizadas"
)

crew = Crew(
    agents=[issue_manager],
    tasks=[issue_workflow]
)

crew.kickoff()

Gerenciamento de Projetos e Equipes

from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools

enterprise_tools = CrewaiEnterpriseTools(
    enterprise_token="your_enterprise_token"
)

project_coordinator = Agent(
    role="Project Coordinator",
    goal="Coordenar projetos e equipes no Linear de forma eficiente",
    backstory="Um coordenador de projetos experiente que gerencia ciclos de desenvolvimento e fluxos de trabalho de equipe.",
    tools=[enterprise_tools]
)

# Tarefa para coordenar a configuração de projeto
project_coordination = Task(
    description="""
    1. Pesquise por equipes de engenharia no Linear
    2. Crie um novo projeto para o desenvolvimento de recursos do Q2
    3. Associe o projeto às equipes relevantes
    4. Crie marcos iniciais do projeto como issues
    """,
    agent=project_coordinator,
    expected_output="Projeto Q2 criado com equipes atribuídas e marcos iniciais estabelecidos"
)

crew = Crew(
    agents=[project_coordinator],
    tasks=[project_coordination]
)

crew.kickoff()

Hierarquia de Issues e Gerenciamento de Sub-tarefas

from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools

enterprise_tools = CrewaiEnterpriseTools(
    enterprise_token="your_enterprise_token"
)

task_organizer = Agent(
    role="Task Organizer",
    goal="Organizar issues complexas em sub-tarefas gerenciáveis",
    backstory="Um assistente de IA que divide trabalhos de desenvolvimento complexos em sub-tarefas organizadas.",
    tools=[enterprise_tools]
)

# Tarefa para criar hierarquia de issues
hierarchy_task = Task(
    description="""
    1. Pesquise por issues de recursos grandes que precisam ser divididos
    2. Para cada issue complexa, crie sub-issues para diferentes componentes
    3. Atualize as issues principais com descrições adequadas e links para sub-issues
    4. Atribua sub-issues aos membros apropriados da equipe com base na especialidade
    """,
    agent=task_organizer,
    expected_output="Issues complexas divididas em sub-tarefas gerenciáveis com atribuições corretas"
)

crew = Crew(
    agents=[task_organizer],
    tasks=[hierarchy_task]
)

crew.kickoff()

Fluxo de Trabalho de Desenvolvimento Automatizado

from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools

enterprise_tools = CrewaiEnterpriseTools(
    enterprise_token="your_enterprise_token"
)

workflow_automator = Agent(
    role="Workflow Automator",
    goal="Automatizar processos de fluxo de trabalho de desenvolvimento no Linear",
    backstory="Um assistente de IA que automatiza tarefas repetitivas de fluxo de trabalho de desenvolvimento.",
    tools=[enterprise_tools]
)

# Tarefa de automação de workflow complexa
automation_task = Task(
    description="""
    1. Pesquise por issues que estejam em progresso há mais de 7 dias
    2. Atualize suas prioridades com base nas datas de vencimento e importância do projeto
    3. Crie issues semanais de planejamento de sprint para cada equipe
    4. Arquive issues concluídas do ciclo anterior
    5. Gere relatórios de status do projeto como novas issues
    """,
    agent=workflow_automator,
    expected_output="Fluxo de desenvolvimento automatizado com prioridades atualizadas, planejamento de sprint e relatórios de status"
)

crew = Crew(
    agents=[workflow_automator],
    tasks=[automation_task]
)

crew.kickoff()

Solução de Problemas

Problemas Comuns

Erros de Permissão

  • Certifique-se de que sua conta Linear possui as permissões necessárias no workspace de destino
  • Verifique se a conexão OAuth inclui os escopos requeridos pela API do Linear
  • Confirme se você tem permissões para criar/editar issues e projetos no workspace

IDs e Referências Inválidas

  • Verifique os IDs de equipes, IDs de issues e IDs de projetos para garantir o formato UUID correto
  • Assegure que as entidades referenciadas (equipes, projetos, ciclos) existem e estão acessíveis
  • Verifique se os identificadores de issues seguem o formato correto (ex: “ABC-1”)

Problemas de Associação entre Equipe e Projeto

  • Use LINEAR_SEARCH_TEAMS para obter IDs de equipe válidos antes de criar issues ou projetos
  • Certifique-se de que as equipes existem e estão ativas no seu workspace
  • Verifique se os IDs das equipes estão devidamente formatados como UUIDs

Problemas com Status e Prioridade das Issues

  • Verifique se os IDs de status referenciam estados de workflow válidos para a equipe
  • Certifique-se de que os valores de prioridade estão dentro do intervalo válido para sua configuração do Linear
  • Confirme que campos personalizados e labels existem antes de referenciá-los

Problemas com Formato de Data e Hora

  • Use o formato ISO 8601 para datas de vencimento e timestamps
  • Certifique-se de que os fusos horários estão corretos para cálculos de datas de vencimento
  • Verifique se os valores de data são válidos e posteriores à data atual para datas de vencimento

Problemas de Pesquisa e Filtros

  • Garanta que as consultas de busca estejam formatadas corretamente e não estejam vazias
  • Utilize nomes de campos válidos nas fórmulas de filtro: title, number, project, createdAt
  • Teste filtros simples antes de montar consultas complexas com múltiplas condições
  • Verifique se os tipos de operadores correspondem aos tipos de dados dos campos filtrados

Problemas na Criação de Sub-issues

  • Certifique-se de que os IDs das issues pai são válidos e acessíveis
  • Verifique se o ID da equipe para as sub-issues corresponde ou é compatível com o da issue pai
  • Assegure-se de que as issues pai não estejam arquivadas ou excluídas

Obtendo Ajuda

Precisa de Ajuda?

Entre em contato com nossa equipe de suporte para assistência na configuração ou solução de problemas da integração com o Linear.