Skip to content

feat: add discussion forms and contact links - #53

Merged
uniqueg merged 2 commits into
mainfrom
feat/discussion-forms
Nov 1, 2026
Merged

uniqueg merged 2 commits into
mainfrom
feat/discussion-forms

Conversation

@uniqueg

@uniqueg uniqueg commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Structures posts on the org discussion board (source repository: this one)
and updates the issue chooser's contact links:

  • .github/DISCUSSION_TEMPLATE/q-a.yml: repository (dropdown: Cloud
    Registry, Cloud Registry UI, Cloud Components, FOCA, FOCA plugins, proTES,
    TRS-Filer, other), version, question (what you want to do and what you
    tried), logs (rendered as shell, with a note to remove secrets and
    tokens), required checkbox that the docs, issues and discussions were
    searched.
  • .github/DISCUSSION_TEMPLATE/adoption.yml: organisation (optional),
    services (multi-select, same options), environment (optional), use, and a
    checkbox allowing us to list the adopter (e.g. on elixir-on.cloud).
  • .github/ISSUE_TEMPLATE/config.yml: "Ask a question" (Q&A category),
    "Chat with the community" (Slack invite), "Contact the maintainers",
    "Report a vulnerability" (security policy, as before). The link to the
    deprecated elixir-cloud-aai.github.io contact page is gone.
  • README: describes the discussion forms.

Deviation from the issue: GitHub's schema for config.yml allows only
http(s) URLs in contact links (check-github-issue-config rejects
mailto:cloud-service@elixir-europe.org). "Contact the maintainers"
therefore links the support guide (SUPPORT.md, #44 / #52, merged first)
and names the email address in its description.

Closes #43

Light lane

Configuration and docs text only (YAML forms, contact links, README), no
logic: no reviewer subagents; I reviewed the diff myself.

How it was verified

  • pre-commit run --all-files: all hooks passed (including the
    check-github-issue-config schema check of the new contact links).
  • pre-commit run --all-files --hook-stage manual gitleaks-all: passed.
  • No pre-commit hook covers discussion forms, so I validated both forms
    against GitHub's issue-forms schema (vendored by check-jsonschema), with
    dummy values for the issue-only keys name and description, and checked
    that the top-level keys are only title/labels/body and that each
    body has a non-markdown field: both passed.
  • CI (Lint, Test, CodeQL, CI passed): passed.
  • After the merge: open a new discussion in Q&A and Adoption to see the
    forms on the board.

Declined review findings

  • Sourcery, "discussion forms do not load" without a top-level title: GitHub documents title and labels as optional; only body with a non-Markdown field is required.
  • Sourcery, "requested email link differs": deliberate, GitHub only allows http(s) contact links (see above).

Open questions

None.

🤖 Generated with Claude Code

Add category forms for Q&A and Adoption on the organisation's discussion
board, whose source repository is this one. Point the issue chooser's
contact links to the Q&A category, Slack and the support guide instead
of the deprecated contact page, and describe the forms in the README.

GitHub's schema allows only http(s) URLs in contact links, so "Contact
the maintainers" links the support guide (SUPPORT.md) and names the
email address in its description.

Closes #43

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sourcery-ai

sourcery-ai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Reviewer's Guide

Adds validated Q&A and Adoption discussion forms, updates issue contact links to direct users to discussions, Slack, maintainers, or security reporting, and documents the discussion-board configuration in the README.

Flow diagram for structured discussion forms

flowchart TD
    Start["Start a discussion"] --> Category{"Choose category"}
    Category --> Q["Q&A form"]
    Category --> A["Adoption form"]
    Q --> QFields["Repository, version, question, logs, prior-search confirmation"]
    A --> AFields["Services, use, optional organisation and environment, adopter-list consent"]
    QFields --> Post["Submit structured post"]
    AFields --> Post
Loading

File-Level Changes

Change Details Files
Add structured GitHub Discussion forms for Q&A and adoption reports.
  • Define a Q&A form with project selection, version, troubleshooting context, sanitized shell-rendered logs, and a required prior-search confirmation.
  • Define an Adoption form with optional organisation and environment details, multi-select service usage, intended use, and adopter-list consent.
.github/DISCUSSION_TEMPLATE/q-a.yml
.github/DISCUSSION_TEMPLATE/adoption.yml
Redirect issue-template users to the appropriate community and maintainer support channels.
  • Add links for Q&A discussions, Slack, and maintainer support.
  • Replace the deprecated contact-page link while retaining security-policy reporting.
  • Use an HTTPS support-guide link and document the maintainer email in the description because GitHub rejects mailto links.
.github/ISSUE_TEMPLATE/config.yml
Document the repository's role in powering the organisation discussion board.
  • Explain that the discussion forms are sourced from this repository and mapped to the Q&A and Adoption categories.
  • Add a reference link to the organisation discussions.
README.md

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@uniqueg
uniqueg marked this pull request as ready for review November 1, 2026 03:59

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path=".github/DISCUSSION_TEMPLATE/q-a.yml" line_range="2" />
<code_context>
+---
+body:
+  - type: markdown
+    attributes:
</code_context>
<issue_to_address>
**Discussion forms do not load**

When gitHub attempts to load either discussion category form, gitHub rejects each form because it has a `body` but no required top-level `title`, so users do not get the structured Q&A or Adoption form.

Add a top-level `title` to each discussion form, using the corresponding category title.

Also at `.github/DISCUSSION_TEMPLATE/adoption.yml:2`.
</issue_to_address>

Linked issues

#43 feat: add discussion forms and contact links · 14 of 16 met · 1 to check by hand

# Requirement Status Notes
1 Add category forms named q-a.yml and adoption.yml ✅ Met Both forms are in .github/DISCUSSION_TEMPLATE/.
2 Q&A repository dropdown with the specified options ✅ Met
3 Ask for the version (release or commit) ✅ Met
4 Ask what the user wants to do and has tried ✅ Met
5 Collect logs or errors, render as shell, and remind users to remove secrets and tokens ✅ Met
6 Require confirmation that docs and existing issues/discussions were searched ✅ Met
7 Ask for the organisation, optionally ✅ Met
8 Multi-select services used, with the specified options ✅ Met
9 Ask for the environment, optionally ✅ Met
10 Ask what the adopter uses the services for ✅ Met
11 Include a checkbox granting permission to list the adopter ✅ Met
12 Link “Ask a question” to the Q&A category ✅ Met
13 Link “Chat with the community” to the specified Slack invite ✅ Met
14 Link “Contact the maintainers” to mailto:cloud-service@elixir-europe.org 🟡 Partly met The contact link goes to SUPPORT.md instead; the email address is included in its description.
15 Keep the vulnerability link pointing to the security policy ✅ Met
16 Verify the forms on the board by opening a new discussion in each category after merge 👀 Check by hand (runtime) After merge, open a new discussion in Q&A and Adoption on GitHub and confirm each form appears as expected.

Sourcery assessment

Approval pending. 1 finding to address first.

Blocking findings: .github/DISCUSSION_TEMPLATE/q-a.yml:2


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread .github/DISCUSSION_TEMPLATE/q-a.yml Resolved

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linked issues

#43 feat: add discussion forms and contact links · 8 of 10 met · 1 to check by hand

# Requirement Status Notes
1 Q&A form: repository dropdown with the listed options ✅ Met The form includes all seven named projects and “other”.
2 Q&A form: version, question, and logs fields ✅ Met The question asks what the user wants to do and has tried; the logs field renders as shell and asks users to remove secrets and tokens.
3 Q&A form: require confirmation that docs, issues, and discussions were searched ✅ Met The required checkbox names all three.
4 Adoption form: optional organisation and environment, services multi-select, and use field ✅ Met The form includes the optional fields, the listed services as a multi-select, and a required use field.
5 Adoption form: checkbox allowing the adopter to be listed ✅ Met The checkbox says the adopter may be listed and gives elixir-on.cloud as an example.
6 Contact links: Ask a question to the Q&A category ✅ Met
7 Contact links: Chat with the community to the specified Slack invite ✅ Met
8 Contact maintainers to mailto:cloud-service@elixir-europe.org 🟡 Partly met The link goes to SUPPORT.md rather than the requested mailto URL; the email address is named in the link description, as the PR says GitHub's schema rejects mailto contact links.
9 Report a vulnerability to the security policy ✅ Met
10 Verify the forms on the board by starting a discussion in each category after merge 👀 Check by hand (external system) After merge, open a new discussion in both Q&A and Adoption on GitHub and confirm the corresponding form appears.

Comment thread .github/ISSUE_TEMPLATE/config.yml Resolved
@uniqueg
uniqueg merged commit b695aa0 into main Nov 1, 2026
6 checks passed
@uniqueg
uniqueg deleted the feat/discussion-forms branch November 1, 2026 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add discussion forms and contact links

1 participant