feat(adapters): add conversational Slack-to-Jira intake and Jira draft authoring
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- aws, typescript
Research direction
Start with the Slack handler and the existing non-Jira mention path, then trace the Forge proxy, CLI onboarding command, constructs, and evaluator-schema tests named in the issue. Verify the acceptance criteria across intake persistence, thread processing, Jira creation, retries, and duplicate delivery handling; done means the handler, Forge, CLI, construct, and evaluator-schema tests pass.
Written by the indexing model from the issue text.
Description
Parent
Part of #832.
Summary
Implement the conversational intake foundation. An explicit @Shoof jira ... mention creates a Jira issue immediately, records durable intake state, evaluates the complete Slack thread, and either asks one blocking question or marks the intake ready for orchestration.
This issue stops at the readiness boundary; execution is delivered by the next sub-issue.
Implementation
- Extend Slack channel mappings with:
- Jira cloud ID and project key.
- Allowed Jira issue types.
- Optional intake closure status.
- Reminder and abandonment timing overrides.
- Validate that the selected Jira project has an active project-to-repository mapping.
- Extend
bgagent slack onboard-channeland setup documentation. - Add Slack
channels:historyandgroups:historyscopes. - Route
@Shoof jira ...to a dedicated intake path while preserving existing task mentions. - On subsequent mentions, identify the intake by workspace, channel, and root thread timestamp.
- Fetch the complete thread and process all new human replies since the previous evaluator turn.
- Add a dedicated DynamoDB intake table containing:
- Slack and Jira identities.
- Original requester and platform user.
- Normalized specification.
- Evaluator state and outstanding question.
- Transcript cursor and idempotency markers.
- Reminder/closure deadlines.
- Jira issue type and issue identity.
- Add a small-model Bedrock evaluator with validated, versioned structured output:
- normalized summary and description;
- problem, scope, constraints, and acceptance criteria;
- allowlisted issue type;
AWAITING_INPUTorREADY;- one focused clarification question when blocked.
- Extend the signed Forge proxy allowlist with Jira issue creation and safe field updates.
- Create issues as the Forge app without requiring a linked Jira user.
- Include the Slack requester and source-thread reference in Jira.
- Rewrite the structured Jira description after each evaluator turn.
- Append concise Jira audit comments for questions and answers.
- Apply 👀 on receipt and ❓ when clarification is required.
- Ensure duplicate Slack deliveries cannot create duplicate Jira issues or evaluator turns.
Acceptance criteria
-
@Shoof jira ...creates exactly one Jira issue in the mapped project. - Existing non-Jira Slack mentions retain their current behavior.
- Subsequent mentions resume the intake without requiring the
jirakeyword. - Unmentioned replies never invoke bgagent.
- Each invocation sees intervening human discussion from the complete thread.
- Only linked Slack users can start or advance intake.
- The original requester remains the owner when collaborators participate.
- Jira issue types are restricted to the channel allowlist.
- Jira descriptions remain structured rather than becoming raw transcripts.
- Clarification produces one focused question and no coding task.
- The intake can reach a durable
READYstate. - Jira and Slack API failures are retry-safe and user-visible.
- Handler, Forge, CLI, construct, and evaluator-schema tests pass.
Out of scope
- Starting coding tasks.
- Creating Jira children or dependencies.
- Lifecycle mirroring after implementation starts.
- Reminder scheduling and abandonment execution.
- Dominant language
- TypeScript
- Stars
- 154
- Forks
- 48
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 21
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws-samples/sample-autonomous-cloud-coding-agents
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
aws-samples/sample-autonomous-cloud-coding-agents#908 ·
Maintainers usually reply within 1 day
-
bug v1
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
aws-samples/sample-autonomous-cloud-coding-agents#886 ·
Maintainers usually reply within 1 day
-
bug v1
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
aws-samples/sample-autonomous-cloud-coding-agents#861 ·
Maintainers usually reply within 1 day
-
documentation P2 security
Difficulty 2/5 1-2 days Newbie friendliness 74/100
aws-samples/sample-autonomous-cloud-coding-agents#793 ·
Maintainers usually reply within 1 day
-
Docs: How to clear previously set attributes for a blueprintMay be free again @rkumarus-aws claimed this 40 days ago, and no pull request is open. Opendocumentation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
aws-samples/sample-autonomous-cloud-coding-agents#767 · 2 comments ·
Maintainers usually reply within 1 day
All issues in aws-samples/sample-autonomous-cloud-coding-agents
Similar issues
-
submodule-pointer-regression
Difficulty 1/5 Under an hour Newbie friendliness 72/100
smith-horn/skillsmith#3061 ·
Maintainers usually reply within 1 day
-
area: ops type: test
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
accensa/x402-facilitator-stellar#559 ·
Maintainers usually reply within 1 day
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
cosimochellini/one-piece-zero-spoiler#551 ·
Maintainers usually reply within 1 day
-
getWatched() omits __proto__ directories when cwd is setPossibly taken @maxazure claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
-
area:web enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day