Skip to content

Commit 00f1ade

Browse files
committed
[generate_manifest] let issue creation trigger the workflow
1 parent cabec4c commit 00f1ade

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

.github/workflows/generate-manifest.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ on:
99
type: string
1010
repository_dispatch:
1111
types: [generate-manifest]
12+
issues:
13+
types: [opened, labeled]
1214

1315
jobs:
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

Comments
 (0)