TASK03 - Puxar endpoints do service - integração com endpoints do MeasureSoftGram Service (US12) - #10
Merged
Merged
Conversation
…dados mockados - Cria src/services/msgramApi.ts com funções de login e busca de qualidade do produto - Fluxo implementado: organização → produto → repositório → TSQMI + características - Por enquanto suporta apenas um repositório por produto (suporte a múltiplos não implementado) - Retorna dados mockados automaticamente quando serviceUrl ou token não estão configurados - Atualiza MeasureSoftGramSidebar para carregar score via request_score (corrige timing de inicialização) - DashboardView passa a exibir dados dinâmicos: score, nome do produto, metas e características - Adiciona estado de loading no dashboard - Adiciona OutputChannel 'MeasureSoftGram API' com log detalhado de cada requisição
…o do projeto Implementa dropdown na sidebar para selecionar entre os repositórios de um produto, carregando o score (TSQMI e características) do repositório escolhido. Refatora a API em fetchRepositories e fetchScoreForRepo, separando a descoberta de contexto (org/produto/repos) da busca de métricas por repositório. Adiciona README com instruções de setup para novos colaboradores, cobrindo execução local via Docker e uso de ambiente de homologação externo.
…s calculadas Adiciona flag noData ao ScoreData para identificar quando a API retorna sem valor de TSQMI. Sidebar e DashboardView exibem aviso visual informando que as métricas ainda não foram calculadas.
|
Contributor
Author
Contributor
Author
jpanacleto2
force-pushed
the
feat/US12-endpoints-service
branch
from
June 25, 2026 14:40
75b0c35 to
70a0ba0
Compare
Correções de qualidade de código apontadas pelo SonarCloud: - Substitui imports 'https'/'http' por 'node:https'/'node:http' em msgramApi.ts - Remove frações zero desnecessárias (0.80 → 0.8, 0.70 → 0.7) em msgramApi.ts - Adiciona modificador readonly ao campo _log em MeasureSoftGramSidebar.ts - Extrai ternário aninhado para variável metaStatus em DashboardView.tsx - Extrai ternário aninhado para função renderCharsContent em Sidebar.tsx Cobertura de testes para satisfazer o Quality Gate (≥ 80%): - Adiciona testes unitários para msgramApi.ts com mock de servidor HTTP - Adiciona c8 para geração de relatório LCOV em coverage/lcov.info - Atualiza CI para executar testes com cobertura antes do scanner do SonarCloud - Adiciona coverage/ ao .gitignore
- README.md: mantém conteúdo detalhado de setup do service (endpoints) - App.tsx: mantém props de repositório (repos, selectedRepoPk, onSelectRepo) e scoreLoading no DashboardView adicionados nesta branch
Mescla as funcionalidades de execução local de action (save_action, run_action, workflow YAML via Docker/Act) com as funcionalidades de endpoints de serviço (fetchRepositories, fetchScoreForRepo, seletor de repositório, repos_loaded). Conflitos resolvidos mantendo o máximo das duas branches: - package.json: scripts mocha+c8 (test:unit/coverage) + vitest webview - types/index.ts: todos os tipos de mensagem de ambas as branches - MeasureSoftGramSidebar.ts: listeners request_score/select_repo/ save_settings + save_action/run_action combinados - App.tsx: estado de repos/selectedRepoPk + scoreError + lógica applySettingsToYaml/getMissingSettings/settings_loaded - DashboardView.tsx: props productName E scoreError, UI de noData, loading, commit-warn e score hero mantidas - Sidebar.tsx: header de branding (feat/US12) + seletor de repo e aviso noData (HEAD) preservados
…encontrado Quando a API retorna erro (produto não encontrado, sem registros, etc.), o painel deixava de renderizar o score hero e ficava vazio. Agora: - score hero sempre visível (mostra — quando sem dados) - scoreData anterior persiste ao trocar de repositório com erro - mensagem de erro exibida em vermelho na notification banner - estado scoreError removido, consolidado em notifText/notifType
- SettingsView agora recebe initialData={settings} e sincroniza os
campos via useEffect, preservando os valores após salvar e ao
recarregar (inclusive via settings_loaded da extensão)
- score_error agora limpa scoreData (null) para que o painel exiba
traços no lugar dos últimos valores, deixando claro que os dados
não estão disponíveis enquanto o erro é exibido em vermelho
jpanacleto2
force-pushed
the
feat/US12-endpoints-service
branch
from
June 25, 2026 16:21
a415f2a to
23e66cc
Compare
- Corrige mapeamento de msgramServiceToken para token em MsgramSettings, que fazia o campo token ficar undefined e forçava o uso de dados mockados - Persiste configurações entre sessões via workspaceState (URL, productName) e SecretStorage (token), carregando-as automaticamente ao abrir o painel - Corrige TypeError no DashboardView ao chamar reduce em array vazio quando o repositório não possui TSQMI calculado, o que travava o painel em branco - Passa ExtensionContext completo ao Sidebar e Panel (antes só extensionUri) - Reestrutura tasks.json com build:webview, compile:extension e build:all - Adiciona draft state no SettingsView para preservar campos sem salvar
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.















Summary
/api/v1/)noDataao tipoScoreDatapara propagar o estado de ausência de dados até a UITest plan
Cannot read properties of undefined) ao acessar repositórios sem dados