Skip to content

docs(jira-communication): add subtask type naming and assign-to-me guidance#28

Open
aseemann wants to merge 2 commits intomainfrom
fix/skill-md-subtask-types-and-assign-to-me
Open

docs(jira-communication): add subtask type naming and assign-to-me guidance#28
aseemann wants to merge 2 commits intomainfrom
fix/skill-md-subtask-types-and-assign-to-me

Conversation

@aseemann
Copy link

@aseemann aseemann commented Mar 9, 2026

Summary

  • Subtask types on Jira Server/DC: Subtask issue types are prefixed with Sub: (e.g. Sub: Task, Sub: Bug). Using plain Task or Sub-task with --parent causes a hard failure (Issue type is not a sub-task / Invalid issue type). Added a dedicated section with correct and incorrect examples.
  • Assign to me: Never derive the Jira username from a display name or email — they frequently differ (e.g. display name Axel Seemann → actual username axel.kummer). Added a pattern that uses jira-user.py me to resolve the authenticated user's username before passing it to --assignee.

Both patterns were discovered from real command failures and are already handled correctly by the existing scripts — this PR just makes the guidance explicit in SKILL.md so the agent doesn't have to learn it the hard way again.

Test plan

  • Verify jira-user.py me returns a name field on both Cloud and Server profiles
  • Verify --type "Sub: Task" --parent PROJ-X creates a subtask successfully on a Server instance
  • Review SKILL.md rendering looks correct

🤖 Generated with Claude Code

…idance

On Jira Server/DC subtask issue types are prefixed with "Sub: " (e.g.
"Sub: Task", "Sub: Bug") — using plain "Task" or "Sub-task" causes a
hard failure. Document the correct naming convention and add a dry-run
example.

Also document the "assign to me" pattern: never guess the Jira username
from a display name or email. Use `jira-user.py me` to resolve the
authenticated user's username before calling --assignee.

Both patterns were discovered from real command failures in the field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the SKILL.md documentation by providing crucial guidance for interacting with Jira, specifically addressing common pitfalls related to subtask creation on Jira Server/DC and accurately assigning issues to the current user. These updates aim to improve the agent's ability to perform Jira operations correctly by making previously learned patterns explicit in the documentation.

Highlights

  • Jira Subtask Naming: Added explicit guidance for creating subtasks on Jira Server/DC, emphasizing the use of the Sub: prefix for subtask issue types (e.g., Sub: Task) to avoid common failures.
  • Assigning Issues to Self: Introduced a pattern for resolving the authenticated user's Jira username using jira-user.py me to correctly assign issues, preventing errors that arise from deriving usernames from display names or emails.
Changelog
  • skills/jira-communication/SKILL.md
    • Added a new section 'Creating Subtasks (Jira Server/DC)' detailing the correct naming convention for subtask issue types.
    • Included examples of correct and incorrect subtask creation commands.
    • Provided a command to list available issue types for a project.
    • Added a new section 'Resolving "Assign to Me"' explaining how to obtain the authenticated user's Jira username.
    • Included an example command demonstrating how to use jira-user.py me to assign an issue to oneself.
Activity
  • The pull request introduces new documentation sections to SKILL.md based on real-world command failures and existing script solutions.
  • The author, aseemann, has provided a detailed summary and test plan for the changes.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds valuable documentation to SKILL.md regarding Jira subtask creation on Server/DC and how to self-assign issues. The new sections are clear and address real-world use cases. I have one suggestion to simplify the example command for self-assigning an issue, making it more robust and user-friendly by leveraging the existing --quiet flag instead of a complex shell pipe.

Note: Security Review has been skipped due to the limited scope of the PR.

Overtake copilot sugesstion to make getting currend username(-id) more reliable

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

## Creating Subtasks (Jira Server/DC)

On Jira Server and Data Center, subtask issue types are **prefixed with `Sub: `** — never `Sub-task` or a plain type name:
Copy link
Member

Choose a reason for hiding this comment

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

@aseemann , this is not true. Sub tasks can have whatever name you like. We self have "Sub-task" and "Sub: *" as sub-task names in our Jira. "SUB-TASK" is even the official issue type name.


```bash
# Correct — use "Sub: Task", "Sub: Bug", "Sub: Improvement", etc.
uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Sub: Task" --parent PROJ-100
Copy link
Member

@CybotTM CybotTM Mar 9, 2026

Choose a reason for hiding this comment

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

uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --parent PROJ-100

should (be make) work, falling back to default sub task type if not defined with --type

uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type=bug --parent PROJ-100

should search for sub-task with "bug" or fall back to defgualt sub-task type.

"Default" for sub-tasks means the first in the result from GET /rest/api/2/issue/createmeta?projectKeys=PROJ&expand=projects.issuetypes.fields filtered by issuetypes[].subtask == true (for server on-prem)

# Correct — use "Sub: Task", "Sub: Bug", "Sub: Improvement", etc.
uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Sub: Task" --parent PROJ-100

# Wrong — these will fail with "issue type is not a sub-task" or "invalid issue type"
Copy link
Member

Choose a reason for hiding this comment

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

If this works or not entirely depends on how the issue types are named on the target Jira. This can work absolutely correct on some Jira.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the jira-communication skill documentation to capture common Jira Server/DC and “assign to me” pitfalls so users/agents can run the existing CLI scripts correctly without trial-and-error.

Changes:

  • Adds guidance on creating subtasks on Jira Server/DC with examples of issue type naming.
  • Adds a recommended workflow for “assign to me” using jira-user.py me to resolve the correct identifier.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Sub-task" --parent PROJ-100
```

To list all available issue types for a project (including subtask names):
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

The suggested command to “list all available issue types” is incorrect: jira-fields.py search "issuetype" searches fields (it will just return the built-in Issue Type field with id issuetype), not the project’s available issue type values. Consider updating this guidance to a method that actually enumerates issuetype names (e.g., reference Jira UI / REST endpoint) or rephrase to “identify the Issue Type field id” if that’s what you meant.

Suggested change
To list all available issue types for a project (including subtask names):
To identify the built-in Issue Type field (for use in field-related operations):

Copilot uses AI. Check for mistakes.
Comment on lines +71 to +75
Never derive the Jira username from a display name or email address — they often differ. Use `jira-user.py me` to get the authenticated user's username:

```bash
# Get current user's username
uv run scripts/utility/jira-user.py --quiet me # → returns username or account ID
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

This section says jira-user.py me returns the authenticated user’s “username”, but on Jira Cloud the script prints the accountId in --quiet mode (see jira-user.py: it prefers accountId over name). To avoid confusion, adjust the wording to “accountId (Cloud) or username/name (Server/DC)” and ensure the surrounding text consistently uses that terminology.

Suggested change
Never derive the Jira username from a display name or email address — they often differ. Use `jira-user.py me` to get the authenticated user's username:
```bash
# Get current user's username
uv run scripts/utility/jira-user.py --quiet me # → returns username or account ID
Never derive the Jira username from a display name or email address — they often differ. Use `jira-user.py me` to get the authenticated user's accountId (Cloud) or username/name (Server/DC):
```bash
# Get current user's accountId (Cloud) or username/name (Server/DC)
uv run scripts/utility/jira-user.py --quiet me # → returns accountId (Cloud) or username/name (Server/DC)

Copilot uses AI. Check for mistakes.
Comment on lines +53 to +61
On Jira Server and Data Center, subtask issue types are **prefixed with `Sub: `** — never `Sub-task` or a plain type name:

```bash
# Correct — use "Sub: Task", "Sub: Bug", "Sub: Improvement", etc.
uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Sub: Task" --parent PROJ-100

# Wrong — these will fail with "issue type is not a sub-task" or "invalid issue type"
uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Task" --parent PROJ-100
uv run scripts/workflow/jira-create.py issue PROJ "Fix login" --type "Sub-task" --parent PROJ-100
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

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

The doc states that on Jira Server/DC subtask issue types are always prefixed with Sub: and that Sub-task is “never” valid. Jira Server/DC issue type names are instance-configurable (and the default built-in subtask type is commonly named “Sub-task”), so this guidance is likely instance-specific. Consider softening the wording (e.g., “On some Server/DC instances…”) and emphasizing discovery of the exact subtask type name for the target project instead of asserting a universal prefix.

Copilot uses AI. Check for mistakes.
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.

3 participants