Atualização Gitnarrative: Adicionada Integração Gitlab, Azure DevOps e Bitbucket OAuth
Duas semanas após o lançamento do Gitnarrative com suporte somente para Github, o feedback do usuário foi claro: os desenvolvedores usam várias plataformas Git. Então, implementei OAuth para Gitlab, Azure DevOps e Bitbucket. O desafio da implementação Cada plataforma exigia diferentes abordagens para a integração de OAuth e API: o fluxo de OAuth semelhante ao github, mas a estrutura de metadados com confirmação de escopo diferente varia de maneira ligeiramente auto-hospedada. F “{Settings.base_url}/auth/gitlab/callback”, ‘SCOPE’: ‘read_api read_repository’, ‘Response_type’: ‘Code’} DevOps Azure DevOps mais complexos O fluxo de autenticação com o contexto da organização da organização# AZUM# AzulE Dados repositórios requer que os dados necessários para as permissões adicionais para repositórios privados PythonS Python. get_azure_repos (access_token: str, organização: str): cabeçalhos = {‘autorização’: f’bearer {access_token} ‘} url = f’ # complexidade adicional para manusear a organização contexto de contexto de bitbucket estrut de repositório API em comparação com o github/gitlab o gitlab e o gatinho e a laminagem de manipulamento de manifestação baseada em repositório de manipulação de manipulamento Camada: PyTytoCllass gitplatformAdapter: @abstractmethod assíncrono def get_repositórios (self, token: str) -> lista[Repository]: Passe @abstractMethod Async def analze_commits (self, repo_id: str, token: str) -> Commitsanalysis: passa classe gitlabadapter (gitplAtformAdApter): strycter stryn stryn axlestysitories (slowken: str): # gitlab spectificatem get_repositórios (self, token: str): # A implementação específica do Azure considerações de experiência do usuário Cada plataforma tem diferentes expectativas do usuário: os usuários do GITLAB geralmente trabalham com instâncias auto-hospedadas, os usuários do Azure DevOps esperam que os fluxos de refluxo do Microsoft se sintam os padrões de fluxo de trabalho que não se sentem a cada fluxo de fluxo de gestão, enquanto os padrões de fluxo de trabalho que não são de um fluxo de trabalho que se sintam a mais que se sintam a mais que se sentem os padrões de fluxo de trabalho que não se sentem a cada fluxo de fluxo de griços que se sentem a cada um dos padrões de fluxo de trabalho que não se sentem a cada fluxo de fluxo de gestão. Distribuição do uso atual após duas semanas com suporte multi-plataforma: Github: 82% (abaixo de 100%) Gitlab: 12% Azure DevOps: 4% Bitbucket: 2% da adoção do GitLab foi mais rápida do que o esperado, provavelmente devido à sua popularidade nas comunidades empresariais e de código aberto. Testes e feedback necessário Procurando desenvolvedores usando essas plataformas para testar: OAuth Flow Smoothness Repository Análise de precisão A qualidade da geração de histórias em comparação com o GitHub os algoritmos de análise Git funcionam de forma consistente entre as plataformas, mas cada um possui metadados únicos que podem melhorar a geração de histórias. As lições técnicas da complexidade do OAuth varia significativamente entre os limites da taxa de API de plataformas diferem – o Azure DevOps é mais restritivo, as expectativas do usuário são específicas da plataforma – não assuma que os padrões do github funcionam em todos os lugares que o tratamento de erros precisa de contexto de plataforma – mensagens de erro genéricas confundem os usuários para os usuários que estão funcionando na integração do webhook para atualizações de histórias automáticas quando os repositórios de repositórios mudam. Cada plataforma lida com os webhooks de maneira diferente, então esse será outro desafio interessante de integração. Gitnarrative transforma o Git Commite History em narrativas de projetos atraentes. Experimente com alguma das plataformas suportadas no gitnarrative.io qual plataforma Git você mais usa e quais desafios de integração você enfrentou a criação de ferramentas de várias plataformas? Digite o modo de saída de tela cheia de tela cheia
Fonte