99 type : string
1010 repository_dispatch :
1111 types : [generate-manifest]
12+ issues :
13+ types : [opened, labeled]
1214
1315jobs :
1416 generate-manifest :
1517 runs-on : ubuntu-latest
18+ if : ${{ github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'server submission') }}
1619 permissions :
1720 contents : write
1821 pull-requests : write
@@ -40,17 +43,32 @@ jobs:
4043 python -m pip install --upgrade pip
4144 pip install requests
4245
46+ - name : Extract repository URL from issue
47+ id : extract-url
48+ if : github.event_name == 'issues'
49+ run : |
50+ # Extract the repository URL from the GitHub issue form
51+ # The form renders the repository field as a URL line after the label
52+ REPO_URL=$(echo '${{ github.event.issue.body }}' | grep -oP 'https://github\.com/[^\s]+' | head -1)
53+ if [ -z "$REPO_URL" ]; then
54+ echo "No GitHub repository URL found in issue body"
55+ echo "Issue body: ${{ github.event.issue.body }}"
56+ exit 1
57+ fi
58+ echo "Found repository URL: $REPO_URL"
59+ echo "repo_url=$REPO_URL" >> $GITHUB_OUTPUT
60+
4361 - name : Generate manifest
4462 env :
4563 ANYON_API_KEY : ${{ secrets.ANYON_API_KEY }}
4664 run : |
47- REPO_URL="${{ github.event.inputs.repo_url || github.event.client_payload.repo_url }}"
65+ REPO_URL="${{ github.event.inputs.repo_url || github.event.client_payload.repo_url || steps.extract-url.outputs.repo_url }}"
4866 python scripts/get_manifest.py "$REPO_URL"
4967
5068 - name : Extract repo name for branch
5169 id : repo-info
5270 run : |
53- REPO_URL="${{ github.event.inputs.repo_url || github.event.client_payload.repo_url }}"
71+ REPO_URL="${{ github.event.inputs.repo_url || github.event.client_payload.repo_url || steps.extract-url.outputs.repo_url }}"
5472 REPO_NAME=$(echo "$REPO_URL" | sed 's/.*github\.com[:/]//' | sed 's/\.git$//' | tr '/' '-')
5573 echo "repo_name=$REPO_NAME" >> $GITHUB_OUTPUT
5674 echo "branch_name=add-manifest-$REPO_NAME" >> $GITHUB_OUTPUT
@@ -62,14 +80,14 @@ jobs:
6280 commit-message : |
6381 feat: add manifest for ${{ steps.repo-info.outputs.repo_name }}
6482
65- Generated manifest JSON for repository: ${{ github.event.inputs.repo_url || github.event.client_payload.repo_url }}
83+ Generated manifest JSON for repository: ${{ github.event.inputs.repo_url || github.event.client_payload.repo_url || steps.extract-url.outputs.repo_url }}
6684
6785 Co-Authored-By: Lucien
6886 title : " feat: Add MCP manifest for ${{ steps.repo-info.outputs.repo_name }}"
6987 body : |
7088 ## Summary
7189
72- This PR adds a new MCP server manifest generated from the repository: ${{ github.event.inputs.repo_url || github.event.client_payload.repo_url }}
90+ This PR adds a new MCP server manifest generated from the repository: ${{ github.event.inputs.repo_url || github.event.client_payload.repo_url || steps.extract-url.outputs.repo_url }}
7391
7492 ## Changes
7593
0 commit comments