Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Boards>GS TimeSheet
GS TimeSheet

GS TimeSheet

Ricardo Henrique Alves

|
1 install
| (0) | Free
Exibe dados de apontamento dentro de uma aba de Work Item
Get it free

GS Time Sheet

Extensao do Azure DevOps para lancamento de horas diretamente em uma aba de Work Item.

Funcionalidades

  • Identifica automaticamente o Work Item aberto.
  • Exibe resumo com Original Estimate, Completed Work e Remaining Work.
  • Permite informar data, horas, minutos e comentario.
  • Valida os campos antes do envio.
  • Atualiza o campo Microsoft.VSTS.Scheduling.CompletedWork do Work Item.
  • Grava cada lancamento em uma colecao do Firebase.
  • Lista os lancamentos gravados para o Work Item atual.

Estrutura

  • vss-extension.json: manifesto da extensao.
  • src/timesheet-tab/timesheet-tab.tsx: entrypoint React da aba.
  • src/timesheet-tab/TimeSheetTab.tsx: componente visual principal.
  • src/timesheet-tab/services/azureDevOpsSdk.ts: inicializacao do SDK e contexto do usuario.
  • src/timesheet-tab/services/workItemService.ts: leitura e atualizacao do Work Item.
  • src/timesheet-tab/services/timeEntryRepository.ts: persistencia e consulta no Firebase.
  • src/timesheet-tab/services/firebaseConfig.ts: configuracao da base Firebase.

Scripts

npm install
npm run typecheck
npm run compile:dev
npm run start:dev
npm run package:dev
npm run publish:dev
npm run package
npm run publish

Desenvolvimento local

  1. Preencha a configuracao do Firebase em src/timesheet-tab/services/firebaseConfig.ts.
  2. Publique a extensao de desenvolvimento:
npm run publish:dev
  1. Instale a extensao gs-timesheet-dev na sua organizacao do Azure DevOps.
  2. Inicie o servidor local:
npm run start:dev
  1. Abra https://localhost:3000/dist/timesheet-tab/timesheet-tab.html e aceite o certificado.
  2. Abra um Work Item no Azure DevOps e selecione a aba Time Sheet.

Publicacao

  1. Ajuste a versao em vss-extension.json quando for publicar uma nova versao.
  2. Defina um PAT com permissao Marketplace (publish).
  3. Para publicacao manual:
npm run publish
  1. Para usar o script local com PAT salvo fora do Git:
.\publish.local.ps1

Como testar

  1. Abra um Work Item que possua os campos de estimativa.
  2. Verifique se o resumo mostra Original Estimate, Completed Work e Remaining Work.
  3. Lance um registro com comentario preenchido e horas maiores que zero.
  4. Confirme que o Completed Work foi somado e salvo no Work Item.
  5. Confirme que o registro apareceu na listagem da aba e tambem na colecao configurada no Firebase.

Configuracao do Firebase

Preencha estes valores em src/timesheet-tab/services/firebaseConfig.ts:

  • apiKey
  • authDomain
  • projectId
  • storageBucket
  • messagingSenderId
  • appId
  • measurementId se usado
  • timeEntriesCollection

Informacoes que eu ainda preciso para conectar na base correta:

  • O projeto Firebase correto.
  • O nome da colecao onde os lancamentos devem ser gravados.
  • Se o ambiente de dev e de producao usam a mesma base ou bases separadas.
  • As regras de seguranca esperadas para leitura e escrita.

Observacoes

  • A configuracao do Firebase fica no bundle da extensao; isso e normal para apps web Firebase.
  • A seguranca real deve estar nas regras do Firestore.
  • O projeto compila localmente com npm run compile:dev.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft