Submit a merge request that closes this issue to earn points on merge — bounties stack on the standard +40 merge_pr award. New to the repo? See the Contributing guide, and Local Development & SSO to run the app locally (cp .dev.vars.example .dev.vars && pnpm dev, after rebasing on main) and fully test your change before opening the MR.

Description

Context

Bounties are GitLab issues. Tasks are reputation-currency items. Today they're disconnected. Wiring them together means contributors who find a bounty can also see it in task.irregulars.io with the points pre-set, and Task Exchange's escrow/reputation can layer on top of GitLab's tracking.

Acceptance criteria

  • [ ] When the GitLab webhook receives Issue Hook with action open and label feature-request, create a corresponding task on Task Exchange
  • [ ] Task title/body mirrors the GitLab issue; external_url points back to the issue
  • [ ] Task difficulty derived from bounty: label tier (xs→micro, s→easy, m→medium, l→hard, xl→expert)
  • [ ] Closing the issue closes the task (idempotent)
  • [ ] Webhook is opt-in — feature flag ENABLE_BOUNTY_TASK_SYNC=1 (default off)

Technical hints

  • Task Exchange already accepts external task creation — check apps/task-exchange/src/api/tasks.ts
  • GitLab Issue Hook payload reference: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#issue-events
  • Use ON CONFLICT (external_id) DO UPDATE for idempotency on the task table

--- *Submit a merge request that says Closes #<this issue iid> in the description. On merge to main, the GitLab webhook will auto-award your bounty + the standard merge_pr (40 pts) to your scoreboard account. Email on commit must match your Authentik email.*

Relevant files

No relevant files linked yet.

Hints

No hints yet.

Activity

No points have been awarded for this bounty yet.

Comments

No comments yet. Be the first to weigh in.

↑ Top