Skip to content

feat(tempo): add Jira Tempo Timesheets plugin#8884

Open
acarmisc wants to merge 3 commits into
apache:mainfrom
acarmisc:feature/tempo-plugin-8883
Open

feat(tempo): add Jira Tempo Timesheets plugin#8884
acarmisc wants to merge 3 commits into
apache:mainfrom
acarmisc:feature/tempo-plugin-8883

Conversation

@acarmisc
Copy link
Copy Markdown

Summary

Adds a new plugin for ingesting worklogs from Jira Tempo (Tempo Timesheets) API v4 into DevLake. The plugin collects worklog and team data from the Tempo API and maps them to DevLake's issue_worklogs domain layer.

Backend (backend/plugins/tempo/):

  • Plugin entry point (impl/impl.go) implementing PluginMeta, PluginTask, PluginModel, PluginMigration, PluginSource
  • Tempo API client with Bearer token authentication
  • Data pipeline: Collectors → Extractors → Converters for worklogs and teams
  • Connection management, scope, and blueprint v2.0.0 API endpoints
  • Database migrations for _tool_tempo_worklogs, _tool_tempo_teams, _tool_tempo_connections
  • E2E tests with CSV fixtures

Config-UI (config-ui/src/plugins/register/tempo/):

  • Connection configuration form (endpoint, token, proxy, rate limit)
  • Teams data scope with miller column layout
  • Plugin registration in config-ui/src/plugins/register/index.ts

Dependencies: Requires the Jira plugin for issue ID mapping (jira:JiraIssues:{ConnectionId}:{IssueId})

Does this close any open issues?

Closes #8883

Screenshots

N/A (plugin configuration is standard connection form, consistent with other plugins)

Other Information

Adds plugin for ingesting worklogs from Jira Tempo (Tempo Timesheets) API v4.

Backend:
- Plugin entry point (impl/impl.go)
- Tempo API client with Bearer token auth (tasks/api_client.go)
- Data collectors, extractors, and converters for worklogs and teams
- Connection management API endpoints (api/)
- Database migrations for _tool_tempo_worklogs, _tool_tempo_teams
- E2E tests with CSV fixtures

Config-UI:
- Connection configuration UI (config.tsx)
- Plugin registration in index.ts

Dependency: requires Jira plugin for issue ID mapping.

Closes apache#8883
@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. add-a-plugin This issue is to add a plugin component/config-ui This issue or PR relates to config-ui component/plugins This issue or PR relates to plugins pr-type/feature-development This PR is to develop a new feature labels May 24, 2026
acarmisc added 2 commits May 30, 2026 12:23
- fix Apache license headers in 5 files (missing/typo content)
- move migration script to archived models pattern (forbidden import on plugins/tempo/models)
- register tempo in plugins/table_info_test.go
- drop unused validator var/import in api/init.go
- fix malformed issue_worklogs.csv snapshot (header/body column mismatch)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

add-a-plugin This issue is to add a plugin component/config-ui This issue or PR relates to config-ui component/plugins This issue or PR relates to plugins pr-type/feature-development This PR is to develop a new feature size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature][Plugin] Add Tempo (Jira Tempo Timesheets) plugin

1 participant