microsoft / microsoft/vscode-pull-request-github

Assign MCPs & Tools to Copilot

Open
#7,955 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
TypeScript
Stars
2.6k
Forks
795
Avg merge
1d 4h
Merged PRs (30d)
46

Description

Goal

I would like to be able to assign tools to Copilot when it is generating a PR title/description. It would be useful to allow it to access the Atlassian MCP and research the issue that I am working on, for example.

I could not find an issue related to this — please let me know if I missed it.

My Attempt

I've been able to assign a prompt as follows:

  1. Create a prompt at .github/prompts/pull-request-instructions.prompt.md:

    ---
    mode: agent
    tools: ['getJiraIssue', 'searchJiraIssuesUsingJql']
    ---
    When creating a pull request, please follow these guidelines to ensure clarity and consistency:
    
    1. **Issue Research (First Step):**
      - Before writing the title and description, check your branch name for an issue key and use the Atlassian MCP to research the Jira issue details if applicable.
      - Extract the issue key from your branch name (e.g., 'DEV-1234' from 'bf/mitch/DEV-1234-something-something').
      - Use `mcp_atlassian_atl_searchJiraIssuesUsingJql` or `mcp_atlassian_atl_getJiraIssue` with the extracted issue key to get the full issue context.
      - Review the issue summary, description, acceptance criteria, and any comments to understand the problem thoroughly.
      - This ensures your pull request accurately reflects the issue requirements and provides proper context.
    
    2. **Pull Request Title:**
      - If your branch name includes an issue key (e.g., 'DEV-1234'), start the title with this key in square brackets, followed by a space. For example: `[DEV-1234] Add User Authentication Feature`.
      - Use the issue summary from Jira as inspiration, but make it concise and specific to the changes made.
      - Use Title Case for the main title, capitalizing the first letter of each major word.
      - Keep the title descriptive of the actual solution implemented, not just the problem.
    
    3. **Pull Request Description:**
      - Begin the description with the issue key on its own line, formatted as `[DEV-1234]`.
      - Include a brief problem statement based on the Jira issue description - what was wrong or what needed to be addressed.
      - Reference the original issue's expected behavior or acceptance criteria where relevant.
      - Use bullet points to list the specific fixes or changes made in the pull request. This helps reviewers quickly understand the scope of your changes.
      - If the issue had multiple parts, address each part clearly.
      - Ensure that your description is clear and provides enough context for reviewers to understand the purpose and impact of your changes.
    
  2. Add the prompt to the instructions in .vscode/settings.json:

    "github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
      {"file": ".github/prompts/pull-request-instructions.prompt.md"}
    ]
    
  3. Run the tool in GitHub Pull Requests UI when making a new PR.

However, it is obviously not using the MCP when I observe the emitted PR title & description. When checking the debug logs, it is showing that the prompt is not being parsed, but is copied verbatim into the custom instructions:

Image Image

Thanks

I appreciate any help with this, whether I am doing something wrong, or just some closure that what I am doing is not currently possible. This would be a very helpful feature!

Thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the prompt in .github/prompts/pull-request-instructions.prompt.md and its entry in .vscode/settings.json, then reproduce the behavior from the GitHub Pull Requests UI while reviewing the debug logs. Done means the pull-request title and description generation can use the assigned MCP tools, or the issue clearly documents that this is unsupported.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, typescript, vscode
Domain
ai, developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.