2727# - xinlian12/sdk-auto-pr-review/.github/workflows/shared/mcp-tools.md@main
2828# - xinlian12/sdk-auto-pr-review/.github/workflows/shared/pr-review-pipeline.md@main
2929# Includes:
30- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-1375472578 .md
31- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-1996015015 .md
32- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-2690551103 .md
33- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-274512218 .md
34- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-3225234967 .md
35- # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-778494006 .md
30+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-1390202396 .md
31+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-1491314413 .md
32+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-1757093464 .md
33+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-3312059695 .md
34+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-3445832631 .md
35+ # - C:/Users/xinlian/AppData/Local/Temp/gh-aw-include-713754741 .md
3636#
3737# gh-aw-metadata: {"schema_version":"v2","frontmatter_hash":"51864786b7583b055680c50ed9b7978735656e1151d607d039e75b3d90df0bae","compiler_version":"v0.62.1","strict":true}
3838
@@ -193,10 +193,10 @@ jobs:
193193 </system>
194194 GH_AW_PROMPT_EOF
195195 cat << 'GH_AW_PROMPT_EOF'
196- {{#runtime-import .github/aw/imports/xinlian12/sdk-auto-pr-review/3aa0798d9f8e03355b961f0c63fa0e9c25c4172f /.github_workflows_shared_pr-review-pipeline.md}}
196+ {{#runtime-import .github/aw/imports/xinlian12/sdk-auto-pr-review/f1b753353600d9c74833df6772274b79590d6d82 /.github_workflows_shared_pr-review-pipeline.md}}
197197 GH_AW_PROMPT_EOF
198198 cat << 'GH_AW_PROMPT_EOF'
199- {{#runtime-import .github/aw/imports/xinlian12/sdk-auto-pr-review/3aa0798d9f8e03355b961f0c63fa0e9c25c4172f /.github_workflows_shared_mcp-tools.md}}
199+ {{#runtime-import .github/aw/imports/xinlian12/sdk-auto-pr-review/f1b753353600d9c74833df6772274b79590d6d82 /.github_workflows_shared_mcp-tools.md}}
200200 GH_AW_PROMPT_EOF
201201 cat << 'GH_AW_PROMPT_EOF'
202202 {{#runtime-import .github/workflows/pr-review.md}}
@@ -532,6 +532,9 @@ jobs:
532532 "type": "object"
533533 },
534534 "handler": "get-pr-comments.sh",
535+ "env": {
536+ "GH_TOKEN": "GH_TOKEN"
537+ },
535538 "timeout": 60
536539 },
537540 {
@@ -550,6 +553,9 @@ jobs:
550553 "type": "object"
551554 },
552555 "handler": "get-pr-diff.sh",
556+ "env": {
557+ "GH_TOKEN": "GH_TOKEN"
558+ },
553559 "timeout": 60
554560 },
555561 {
@@ -568,6 +574,9 @@ jobs:
568574 "type": "object"
569575 },
570576 "handler": "get-pr-metadata.sh",
577+ "env": {
578+ "GH_TOKEN": "GH_TOKEN"
579+ },
571580 "timeout": 60
572581 },
573582 {
@@ -624,6 +633,44 @@ jobs:
624633 },
625634 "handler": "git-show-stat.sh",
626635 "timeout": 60
636+ },
637+ {
638+ "name": "post-review-comment",
639+ "description": "Post a review comment on the PR. Supports both general and inline comments.",
640+ "inputSchema": {
641+ "properties": {
642+ "body": {
643+ "description": "",
644+ "type": "string"
645+ },
646+ "line": {
647+ "description": "",
648+ "type": "number"
649+ },
650+ "path": {
651+ "description": "",
652+ "type": "string"
653+ },
654+ "pr_number": {
655+ "description": "",
656+ "type": "number"
657+ },
658+ "start_line": {
659+ "description": "",
660+ "type": "number"
661+ }
662+ },
663+ "required": [
664+ "body",
665+ "pr_number"
666+ ],
667+ "type": "object"
668+ },
669+ "handler": "post-review-comment.sh",
670+ "env": {
671+ "GH_TOKEN": "GH_TOKEN"
672+ },
673+ "timeout": 60
627674 }
628675 ]
629676 }
@@ -661,6 +708,7 @@ jobs:
661708 echo "ERROR: file not found: $INPUT_PATH"
662709 fi
663710
711+
664712 GH_AW_MCP_SCRIPTS_SH_FILE-LINE-COUNT_EOF
665713 chmod +x ${RUNNER_TEMP}/gh-aw/mcp-scripts/file-line-count.sh
666714 cat > ${RUNNER_TEMP}/gh-aw/mcp-scripts/get-pr-comments.sh << 'GH_AW_MCP_SCRIPTS_SH_GET-PR-COMMENTS_EOF'
@@ -744,6 +792,28 @@ jobs:
744792
745793 GH_AW_MCP_SCRIPTS_SH_GIT-SHOW-STAT_EOF
746794 chmod +x ${RUNNER_TEMP}/gh-aw/mcp-scripts/git-show-stat.sh
795+ cat > ${RUNNER_TEMP}/gh-aw/mcp-scripts/post-review-comment.sh << 'GH_AW_MCP_SCRIPTS_SH_POST-REVIEW-COMMENT_EOF'
796+ #!/bin/bash
797+ # Auto-generated mcp-script tool: post-review-comment
798+ # Post a review comment on the PR. Supports both general and inline comments.
799+
800+ set -euo pipefail
801+
802+ BODY_JSON=$(echo "$INPUT_BODY" | jq -Rs .)
803+ if [ -n "$INPUT_PATH" ]; then
804+ COMMENT="{\"path\":\"$INPUT_PATH\",\"body\":$BODY_JSON"
805+ if [ -n "$INPUT_LINE" ]; then COMMENT="$COMMENT,\"line\":$INPUT_LINE"; fi
806+ if [ -n "$INPUT_START_LINE" ]; then COMMENT="$COMMENT,\"start_line\":$INPUT_START_LINE"; fi
807+ COMMENT="$COMMENT}"
808+ echo "{\"event\":\"COMMENT\",\"body\":\"\",\"comments\":[$COMMENT]}" | \
809+ gh api repos/$GITHUB_REPOSITORY/pulls/$INPUT_PR_NUMBER/reviews --input -
810+ else
811+ echo "{\"body\":$BODY_JSON}" | \
812+ gh api repos/$GITHUB_REPOSITORY/issues/$INPUT_PR_NUMBER/comments --input -
813+ fi
814+
815+ GH_AW_MCP_SCRIPTS_SH_POST-REVIEW-COMMENT_EOF
816+ chmod +x ${RUNNER_TEMP}/gh-aw/mcp-scripts/post-review-comment.sh
747817
748818 - name : Generate MCP Scripts Server Config
749819 id : mcp-scripts-config
@@ -769,6 +839,7 @@ jobs:
769839 DEBUG : ' *'
770840 GH_AW_MCP_SCRIPTS_PORT : ${{ steps.mcp-scripts-config.outputs.mcp_scripts_port }}
771841 GH_AW_MCP_SCRIPTS_API_KEY : ${{ steps.mcp-scripts-config.outputs.mcp_scripts_api_key }}
842+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
772843 run : |
773844 # Environment variables are set above to prevent template injection
774845 export DEBUG
@@ -785,6 +856,7 @@ jobs:
785856 GH_AW_SAFE_OUTPUTS : ${{ env.GH_AW_SAFE_OUTPUTS }}
786857 GH_AW_SAFE_OUTPUTS_API_KEY : ${{ steps.safe-outputs-start.outputs.api_key }}
787858 GH_AW_SAFE_OUTPUTS_PORT : ${{ steps.safe-outputs-start.outputs.port }}
859+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
788860 GITHUB_MCP_GUARD_MIN_INTEGRITY : ${{ steps.determine-automatic-lockdown.outputs.min_integrity }}
789861 GITHUB_MCP_GUARD_REPOS : ${{ steps.determine-automatic-lockdown.outputs.repos }}
790862 GITHUB_MCP_SERVER_TOKEN : ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
@@ -804,7 +876,7 @@ jobs:
804876 export DEBUG="*"
805877
806878 export GH_AW_ENGINE="copilot"
807- export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_MCP_SCRIPTS_PORT -e GH_AW_MCP_SCRIPTS_API_KEY -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.19'
879+ export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network host -v /var/run/docker.sock:/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GH_AW_MCP_SCRIPTS_PORT -e GH_AW_MCP_SCRIPTS_API_KEY -e GH_AW_SAFE_OUTPUTS_PORT -e GH_AW_SAFE_OUTPUTS_API_KEY -e GH_TOKEN -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw ghcr.io/github/gh-aw-mcpg:v0.1.19'
808880
809881 mkdir -p /home/runner/.copilot
810882 cat << GH_AW_MCP_CONFIG_EOF | bash ${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.sh
@@ -890,6 +962,7 @@ jobs:
890962 GH_AW_PROMPT : /tmp/gh-aw/aw-prompts/prompt.txt
891963 GH_AW_SAFE_OUTPUTS : ${{ env.GH_AW_SAFE_OUTPUTS }}
892964 GH_AW_VERSION : v0.62.1
965+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
893966 GITHUB_API_URL : ${{ github.api_url }}
894967 GITHUB_AW : true
895968 GITHUB_HEAD_REF : ${{ github.head_ref }}
0 commit comments