From ad8cb5a67f24387cc33884cec7859508a338045a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:02:07 +0000 Subject: [PATCH 1/5] Initial plan From 4b1ffc33968069a40258199c58d92b3d49f4481a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:09:48 +0000 Subject: [PATCH 2/5] Simplify campaign issue template and use add-comment for progress updates - Reduced issue template to bare minimum (just project board notice and campaign goal) - Removed verbose instructions from issue template - Updated campaign-generator to use add-comment instead of update-issue - Added step-by-step progress comments with project URL prominently displayed - Clear communication at each stage: initial comment, agent assignment, confirmation Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/start-campaign.yml | 40 +--- .github/workflows/campaign-generator.lock.yml | 175 +++++++++--------- .github/workflows/campaign-generator.md | 88 +++++---- 3 files changed, 148 insertions(+), 155 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/start-campaign.yml b/.github/ISSUE_TEMPLATE/start-campaign.yml index 67391bbfd9f..b44de6b692f 100644 --- a/.github/ISSUE_TEMPLATE/start-campaign.yml +++ b/.github/ISSUE_TEMPLATE/start-campaign.yml @@ -6,32 +6,18 @@ body: - type: markdown attributes: value: | - ## Start an Agentic Campaign - - **Project Board Required:** Campaigns must be assigned to a GitHub Project for tracking. - - **Create from project board** (recommended): - 1. Open your Project board - 2. Click "Add item" → "Create new issue" - 3. Select this repository and template - - **Create from issues page:** Use the project selector at bottom to assign a project board before submitting. - - The AI detects the assigned project and generates campaign spec with correct project URL. + **Project Board Required:** Assign this issue to a GitHub Project for tracking (use project selector below or create from project board). - type: textarea id: campaign_goal attributes: - label: Agentic Campaign Goal - description: | - What should this campaign accomplish? Be specific. (~125 words recommended) - - Examples: - - "Migrate services from Node.js 16 to 20" - - "Fix critical security vulnerabilities" - - "Refactor legacy auth code" + label: Campaign Goal + description: What should this campaign accomplish? placeholder: | - Describe your campaign goal... + Examples: + - Migrate services from Node.js 16 to 20 + - Fix critical security vulnerabilities + - Refactor legacy auth code validations: required: true @@ -45,14 +31,4 @@ body: validations: required: false - - type: markdown - attributes: - value: | - --- - - ### How it works - - 1. Issue becomes campaign hub - 2. AI generates spec with workflows, governance, metrics - 3. PR created automatically - 4. Review and merge to activate + diff --git a/.github/workflows/campaign-generator.lock.yml b/.github/workflows/campaign-generator.lock.yml index 765a1585c81..7510a2b0ff1 100644 --- a/.github/workflows/campaign-generator.lock.yml +++ b/.github/workflows/campaign-generator.lock.yml @@ -201,66 +201,55 @@ jobs: mkdir -p /tmp/gh-aw/safeoutputs mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs cat > /tmp/gh-aw/safeoutputs/config.json << 'EOF' - {"assign_to_agent":{},"missing_tool":{"max":0},"noop":{"max":1},"update_issue":{"max":1}} + {"add_comment":{"max":5},"assign_to_agent":{},"missing_tool":{"max":0},"noop":{"max":1}} EOF cat > /tmp/gh-aw/safeoutputs/tools.json << 'EOF' [ { - "description": "Assign the GitHub Copilot coding agent to work on an issue. The agent will analyze the issue and attempt to implement a solution, creating a pull request when complete. Use this to delegate coding tasks to Copilot.", + "description": "Add a comment to an existing GitHub issue, pull request, or discussion. Use this to provide feedback, answer questions, or add information to an existing conversation. For creating new items, use create_issue, create_discussion, or create_pull_request instead. CONSTRAINTS: Maximum 5 comment(s) can be added.", "inputSchema": { "additionalProperties": false, "properties": { - "agent": { - "description": "Agent identifier to assign. Defaults to 'copilot' (the Copilot coding agent) if not specified.", + "body": { + "description": "Comment content in Markdown. Provide helpful, relevant information that adds value to the conversation.", "type": "string" }, - "issue_number": { - "description": "Issue number to assign the Copilot agent to. This is the numeric ID from the GitHub URL (e.g., 234 in github.com/owner/repo/issues/234). The issue should contain clear, actionable requirements.", - "type": [ - "number", - "string" - ] + "item_number": { + "description": "The issue, pull request, or discussion number to comment on. This is the numeric ID from the GitHub URL (e.g., 123 in github.com/owner/repo/issues/123). Must be a valid existing item in the repository. Required.", + "type": "number" } }, "required": [ - "issue_number" + "body", + "item_number" ], "type": "object" }, - "name": "assign_to_agent" + "name": "add_comment" }, { - "description": "Update an existing GitHub issue's status, title, or body. Use this to modify issue properties after creation. Only the fields you specify will be updated; other fields remain unchanged. CONSTRAINTS: Maximum 1 issue(s) can be updated. Target: ${{ github.event.issue.number }}.", + "description": "Assign the GitHub Copilot coding agent to work on an issue. The agent will analyze the issue and attempt to implement a solution, creating a pull request when complete. Use this to delegate coding tasks to Copilot.", "inputSchema": { "additionalProperties": false, "properties": { - "body": { - "description": "New issue body to replace the existing content. Use Markdown formatting.", + "agent": { + "description": "Agent identifier to assign. Defaults to 'copilot' (the Copilot coding agent) if not specified.", "type": "string" }, "issue_number": { - "description": "Issue number to update. This is the numeric ID from the GitHub URL (e.g., 789 in github.com/owner/repo/issues/789). Required when the workflow target is '*' (any issue).", + "description": "Issue number to assign the Copilot agent to. This is the numeric ID from the GitHub URL (e.g., 234 in github.com/owner/repo/issues/234). The issue should contain clear, actionable requirements.", "type": [ "number", "string" ] - }, - "status": { - "description": "New issue status: 'open' to reopen a closed issue, 'closed' to close an open issue.", - "enum": [ - "open", - "closed" - ], - "type": "string" - }, - "title": { - "description": "New issue title to replace the existing title.", - "type": "string" } }, + "required": [ + "issue_number" + ], "type": "object" }, - "name": "update_issue" + "name": "assign_to_agent" }, { "description": "Report that a tool or capability needed to complete the task is not available. Use this when you cannot accomplish what was requested because the required functionality is missing or access is restricted.", @@ -309,6 +298,20 @@ jobs: EOF cat > /tmp/gh-aw/safeoutputs/validation.json << 'EOF' { + "add_comment": { + "defaultMax": 1, + "fields": { + "body": { + "required": true, + "type": "string", + "sanitize": true, + "maxLength": 65000 + }, + "item_number": { + "issueOrPRNumber": true + } + } + }, "assign_to_agent": { "defaultMax": 1, "fields": { @@ -355,32 +358,6 @@ jobs: "maxLength": 65000 } } - }, - "update_issue": { - "defaultMax": 1, - "fields": { - "body": { - "type": "string", - "sanitize": true, - "maxLength": 65000 - }, - "issue_number": { - "issueOrPRNumber": true - }, - "status": { - "type": "string", - "enum": [ - "open", - "closed" - ] - }, - "title": { - "type": "string", - "sanitize": true, - "maxLength": 128 - } - }, - "customValidation": "requiresOneOf:status,title,body" } } EOF @@ -514,54 +491,74 @@ jobs: A user has submitted a campaign request via GitHub issue #__GH_AW_GITHUB_EVENT_ISSUE_NUMBER__. - Your job is to: + Your job is to keep the user informed at each stage and assign the work to an AI agent. + + ## Workflow Steps - 1. **Update the issue** using the `update-issue` safe output to: - - Set the status to "In progress" - - Append clear instructions to the issue body for the agent that will pick it up + ### Step 1: Retrieve the Project URL - 2. **Assign to the Copilot agent** using the `assign-to-agent` safe output to hand off the campaign design work - - The Copilot agent will follow the campaign-designer instructions from `.github/agents/campaign-designer.agent.md` - - The campaign-designer will parse the issue, design the campaign content, and create a PR with the `.campaign.md` file + First, retrieve the project URL from the issue's project assignments using the GitHub CLI: + + ```bash + gh issue view __GH_AW_GITHUB_EVENT_ISSUE_NUMBER__ --json projectItems --jq '.projectItems[0]?.project?.url // empty' + ``` - ## Instructions to Append + If no project is assigned, post a comment explaining that a project board is required and stop. - When updating the issue body, append the following instructions to make it clear what the agent needs to do: + ### Step 2: Post Initial Comment + Use the `add-comment` safe output to post a welcome comment that: + - Shows the project URL prominently near the top with a clear link + - Explains what will happen next + - Sets expectations about the AI agent's work + + Example structure: ```markdown - --- + 🤖 **Campaign Creation Started** + + 📊 **Project Board:** [View Project]() - ## 🤖 AI Agent Instructions + I'm processing your campaign request. Here's what will happen: - This issue has been assigned to an AI agent for campaign design. The agent will: + 1. ✅ Retrieve project board details + 2. 🔄 Analyze campaign requirements + 3. 📝 Generate campaign specification + 4. 🔀 Create pull request with campaign file + 5. 👀 Ready for your review + + An AI agent will be assigned to design your campaign. This typically takes a few minutes. + ``` - 1. **Parse the campaign requirements** from the information provided above - 2. **Generate a NEW campaign specification file** (`.campaign.md`) with a unique campaign ID - 3. **Create a pull request** with the new campaign file at `.github/workflows/.campaign.md` + ### Step 3: Assign to Agent - **IMPORTANT**: The agent will create a NEW campaign file. Even if similar campaign files exist, the agent will NOT modify existing campaigns. + Use the `assign-to-agent` safe output to assign the Copilot agent who will: + - Parse the campaign requirements from the issue body + - Generate a NEW campaign specification file (`.campaign.md`) with a unique campaign ID + - Create a pull request with the new campaign file - The campaign specification will include: - - Campaign ID, name, and description - - Project board URL for tracking - - Workflow definitions - - Ownership and governance policies - - Risk level and approval requirements + The campaign-designer agent has detailed instructions in `.github/agents/agentic-campaign-designer.agent.md` + + ### Step 4: Post Confirmation Comment + + Use the `add-comment` safe output to post a confirmation that the agent has been assigned: + + ```markdown + ✅ **Agent Assigned** + + The AI agent is now working on your campaign design. You'll receive updates as the campaign specification is created and the pull request is ready for review. **Next Steps:** - - The AI agent will analyze your requirements and create a comprehensive campaign spec - - Review the generated PR when it's ready + - Wait for the PR to be created (usually 5-10 minutes) + - Review the generated campaign specification - Merge the PR to activate your campaign ``` - ## Workflow - - 1. Use **update-issue** safe output to: - - Set the issue status to "In progress" - - Append the instructions above to the issue body - 2. Use **assign-to-agent** safe output to assign the Copilot agent who will design and implement the campaign + ## Important Notes - The campaign-designer agent will have clear instructions in the issue body about what it needs to do. + - Always retrieve and display the project URL prominently in the first comment + - Use clear, concise language in all comments + - Keep users informed at each stage + - The agent will create a NEW campaign file, not modify existing ones PROMPT_EOF - name: Substitute placeholders @@ -603,7 +600,7 @@ jobs: To create or modify GitHub resources (issues, discussions, pull requests, etc.), you MUST call the appropriate safe output tool. Simply writing content will NOT work - the workflow requires actual tool calls. - **Available tools**: assign_to_agent, missing_tool, noop, update_issue + **Available tools**: add_comment, assign_to_agent, missing_tool, noop **Critical**: Tool calls write structured data that downstream jobs process. Without tool calls, follow-up actions will be skipped. @@ -1119,7 +1116,9 @@ jobs: runs-on: ubuntu-slim permissions: contents: read + discussions: write issues: write + pull-requests: write timeout-minutes: 15 env: GH_AW_ENGINE_ID: "copilot" @@ -1156,7 +1155,7 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"update_issue\":{\"allow_body\":true,\"allow_status\":true,\"max\":1,\"target\":\"${{ github.event.issue.number }}\"}}" + GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"max\":5}}" with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/campaign-generator.md b/.github/workflows/campaign-generator.md index e6e43fcea3a..de6412d4d17 100644 --- a/.github/workflows/campaign-generator.md +++ b/.github/workflows/campaign-generator.md @@ -15,10 +15,8 @@ tools: toolsets: [default] if: startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') safe-outputs: - update-issue: - status: - body: - target: "${{ github.event.issue.number }}" + add-comment: + max: 5 assign-to-agent: timeout-minutes: 5 --- @@ -33,51 +31,71 @@ You are a campaign workflow coordinator for GitHub Agentic Workflows. A user has submitted a campaign request via GitHub issue #${{ github.event.issue.number }}. -Your job is to: +Your job is to keep the user informed at each stage and assign the work to an AI agent. -1. **Update the issue** using the `update-issue` safe output to: - - Set the status to "In progress" - - Append clear instructions to the issue body for the agent that will pick it up +## Workflow Steps -2. **Assign to the Copilot agent** using the `assign-to-agent` safe output to hand off the campaign design work - - The Copilot agent will follow the campaign-designer instructions from `.github/agents/campaign-designer.agent.md` - - The campaign-designer will parse the issue, design the campaign content, and create a PR with the `.campaign.md` file +### Step 1: Retrieve the Project URL -## Instructions to Append +First, retrieve the project URL from the issue's project assignments using the GitHub CLI: -When updating the issue body, append the following instructions to make it clear what the agent needs to do: +```bash +gh issue view ${{ github.event.issue.number }} --json projectItems --jq '.projectItems[0]?.project?.url // empty' +``` + +If no project is assigned, post a comment explaining that a project board is required and stop. + +### Step 2: Post Initial Comment + +Use the `add-comment` safe output to post a welcome comment that: +- Shows the project URL prominently near the top with a clear link +- Explains what will happen next +- Sets expectations about the AI agent's work +Example structure: ```markdown ---- +🤖 **Campaign Creation Started** + +📊 **Project Board:** [View Project]() + +I'm processing your campaign request. Here's what will happen: -## 🤖 AI Agent Instructions +1. ✅ Retrieve project board details +2. 🔄 Analyze campaign requirements +3. 📝 Generate campaign specification +4. 🔀 Create pull request with campaign file +5. 👀 Ready for your review -This issue has been assigned to an AI agent for campaign design. The agent will: +An AI agent will be assigned to design your campaign. This typically takes a few minutes. +``` + +### Step 3: Assign to Agent -1. **Parse the campaign requirements** from the information provided above -2. **Generate a NEW campaign specification file** (`.campaign.md`) with a unique campaign ID -3. **Create a pull request** with the new campaign file at `.github/workflows/.campaign.md` +Use the `assign-to-agent` safe output to assign the Copilot agent who will: +- Parse the campaign requirements from the issue body +- Generate a NEW campaign specification file (`.campaign.md`) with a unique campaign ID +- Create a pull request with the new campaign file -**IMPORTANT**: The agent will create a NEW campaign file. Even if similar campaign files exist, the agent will NOT modify existing campaigns. +The campaign-designer agent has detailed instructions in `.github/agents/agentic-campaign-designer.agent.md` -The campaign specification will include: -- Campaign ID, name, and description -- Project board URL for tracking -- Workflow definitions -- Ownership and governance policies -- Risk level and approval requirements +### Step 4: Post Confirmation Comment + +Use the `add-comment` safe output to post a confirmation that the agent has been assigned: + +```markdown +✅ **Agent Assigned** + +The AI agent is now working on your campaign design. You'll receive updates as the campaign specification is created and the pull request is ready for review. **Next Steps:** -- The AI agent will analyze your requirements and create a comprehensive campaign spec -- Review the generated PR when it's ready +- Wait for the PR to be created (usually 5-10 minutes) +- Review the generated campaign specification - Merge the PR to activate your campaign ``` -## Workflow - -1. Use **update-issue** safe output to: - - Set the issue status to "In progress" - - Append the instructions above to the issue body -2. Use **assign-to-agent** safe output to assign the Copilot agent who will design and implement the campaign +## Important Notes -The campaign-designer agent will have clear instructions in the issue body about what it needs to do. +- Always retrieve and display the project URL prominently in the first comment +- Use clear, concise language in all comments +- Keep users informed at each stage +- The agent will create a NEW campaign file, not modify existing ones From 43c021794d44ac463dca9d1bfc436009db7ed26a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:32:16 +0000 Subject: [PATCH 3/5] Remove additional context field and make title non-editable - Removed additional_context field from issue template (now only campaign_goal) - Changed title from "[Agentic Campaign] " to "[Agentic Campaign]" (non-editable) - Updated label from "Campaign Goal" to direct question "What should this campaign accomplish?" - Updated agentic-campaign-designer agent to remove references to additional_context - Template now reduced from 35 to 24 lines (further 31% reduction) Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/start-campaign.yml | 15 ++------------- .github/agents/agentic-campaign-designer.agent.md | 11 +++-------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/start-campaign.yml b/.github/ISSUE_TEMPLATE/start-campaign.yml index b44de6b692f..2a2f0c5f1d9 100644 --- a/.github/ISSUE_TEMPLATE/start-campaign.yml +++ b/.github/ISSUE_TEMPLATE/start-campaign.yml @@ -1,6 +1,6 @@ name: 🚀 Start an Agentic Campaign description: Create a new agentic campaign with AI assistance - describe your goal and we'll generate the details -title: "[Agentic Campaign] " +title: "[Agentic Campaign]" labels: ["campaign", "campaign-tracker"] body: - type: markdown @@ -11,8 +11,7 @@ body: - type: textarea id: campaign_goal attributes: - label: Campaign Goal - description: What should this campaign accomplish? + label: What should this campaign accomplish? placeholder: | Examples: - Migrate services from Node.js 16 to 20 @@ -21,14 +20,4 @@ body: validations: required: true - - type: textarea - id: additional_context - attributes: - label: Additional Context (Optional) - description: Constraints, deadlines, requirements, prior learnings - placeholder: | - Add relevant context... - validations: - required: false - diff --git a/.github/agents/agentic-campaign-designer.agent.md b/.github/agents/agentic-campaign-designer.agent.md index 76ad5e00827..b7f9bb8f257 100644 --- a/.github/agents/agentic-campaign-designer.agent.md +++ b/.github/agents/agentic-campaign-designer.agent.md @@ -19,8 +19,7 @@ This agent operates in two distinct modes: When triggered from a GitHub issue created via a "Create a Campaign" issue form: 1. **Parse the Issue Form Data** - Extract campaign requirements from the issue body: - - **Agentic Campaign Goal**: The `campaign_goal` field describing what the campaign should accomplish - - **Additional Context**: The optional `additional_context` field with extra requirements + - **Campaign Goal**: The `campaign_goal` field describing what the campaign should accomplish - **Project Board Assignment**: Query the issue's project assignments to get the project URL 2. **Generate the Campaign Specification** - Create a complete `.campaign.md` file without interaction: @@ -125,17 +124,13 @@ When processing a GitHub issue created via the campaign creation form, follow th ### Step 1: Parse the Issue Form and Retrieve Project Assignment Extract the following fields from the issue body: -- **Agentic Campaign Goal** (required): Look for the "Agentic Campaign Goal" section -- **Additional Context** (optional): Look for the "Additional Context" section +- **Campaign Goal** (required): Look for the "What should this campaign accomplish?" section - **Project Board Assignment** (required): Query the issue's project board assignments using GitHub CLI Example issue body format: ``` -### Agentic Campaign Goal +### What should this campaign accomplish? Automated security improvements and vulnerability remediation - -### Additional Context (Optional) -Should allow creating issues and PRs ``` **Important: Retrieve the Project Board URL from Issue Assignments** From 65bedb45e287b6db4d193495187406bee2e3ae77 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:39:22 +0000 Subject: [PATCH 4/5] Change title to [New Agentic Campaign] - Updated issue template title from "[Agentic Campaign]" to "[New Agentic Campaign]" - Updated campaign-generator workflow to trigger on new title format - Recompiled workflow lock file Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/start-campaign.yml | 2 +- .github/workflows/campaign-generator.lock.yml | 6 ++++-- .github/workflows/campaign-generator.md | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/start-campaign.yml b/.github/ISSUE_TEMPLATE/start-campaign.yml index 2a2f0c5f1d9..0b54f2f041a 100644 --- a/.github/ISSUE_TEMPLATE/start-campaign.yml +++ b/.github/ISSUE_TEMPLATE/start-campaign.yml @@ -1,6 +1,6 @@ name: 🚀 Start an Agentic Campaign description: Create a new agentic campaign with AI assistance - describe your goal and we'll generate the details -title: "[Agentic Campaign]" +title: "[New Agentic Campaign]" labels: ["campaign", "campaign-tracker"] body: - type: markdown diff --git a/.github/workflows/campaign-generator.lock.yml b/.github/workflows/campaign-generator.lock.yml index 7510a2b0ff1..7c4c4e6dc72 100644 --- a/.github/workflows/campaign-generator.lock.yml +++ b/.github/workflows/campaign-generator.lock.yml @@ -44,7 +44,7 @@ jobs: needs: pre_activation if: > (needs.pre_activation.outputs.activated == 'true') && (startsWith(github.event.issue.title, '[Campaign]') || - startsWith(github.event.issue.title, '[Agentic Campaign]')) + startsWith(github.event.issue.title, '[Agentic Campaign]') || startsWith(github.event.issue.title, '[New Agentic Campaign]')) runs-on: ubuntu-slim permissions: contents: read @@ -1078,7 +1078,9 @@ jobs: if-no-files-found: ignore pre_activation: - if: startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') + if: > + startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') || + startsWith(github.event.issue.title, '[New Agentic Campaign]') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/campaign-generator.md b/.github/workflows/campaign-generator.md index de6412d4d17..99f0ae24929 100644 --- a/.github/workflows/campaign-generator.md +++ b/.github/workflows/campaign-generator.md @@ -13,7 +13,7 @@ engine: copilot tools: github: toolsets: [default] -if: startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') +if: startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') || startsWith(github.event.issue.title, '[New Agentic Campaign]') safe-outputs: add-comment: max: 5 From cb2361103030fa975a0acb9ddb66188fe3445c0e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 18:46:41 +0000 Subject: [PATCH 5/5] Remove backward compatibility for old campaign title formats - Simplified trigger condition to only check for "[New Agentic Campaign]" - Removed checks for "[Campaign]" and "[Agentic Campaign]" (not needed since templates haven't been actively used) - Recompiled workflow lock file Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- .github/workflows/campaign-generator.lock.yml | 8 ++------ .github/workflows/campaign-generator.md | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/campaign-generator.lock.yml b/.github/workflows/campaign-generator.lock.yml index 7c4c4e6dc72..cdec812e324 100644 --- a/.github/workflows/campaign-generator.lock.yml +++ b/.github/workflows/campaign-generator.lock.yml @@ -42,9 +42,7 @@ run-name: "Campaign Generator" jobs: activation: needs: pre_activation - if: > - (needs.pre_activation.outputs.activated == 'true') && (startsWith(github.event.issue.title, '[Campaign]') || - startsWith(github.event.issue.title, '[Agentic Campaign]') || startsWith(github.event.issue.title, '[New Agentic Campaign]')) + if: (needs.pre_activation.outputs.activated == 'true') && (startsWith(github.event.issue.title, '[New Agentic Campaign]')) runs-on: ubuntu-slim permissions: contents: read @@ -1078,9 +1076,7 @@ jobs: if-no-files-found: ignore pre_activation: - if: > - startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') || - startsWith(github.event.issue.title, '[New Agentic Campaign]') + if: startsWith(github.event.issue.title, '[New Agentic Campaign]') runs-on: ubuntu-slim permissions: contents: read diff --git a/.github/workflows/campaign-generator.md b/.github/workflows/campaign-generator.md index 99f0ae24929..47676e307f1 100644 --- a/.github/workflows/campaign-generator.md +++ b/.github/workflows/campaign-generator.md @@ -13,7 +13,7 @@ engine: copilot tools: github: toolsets: [default] -if: startsWith(github.event.issue.title, '[Campaign]') || startsWith(github.event.issue.title, '[Agentic Campaign]') || startsWith(github.event.issue.title, '[New Agentic Campaign]') +if: startsWith(github.event.issue.title, '[New Agentic Campaign]') safe-outputs: add-comment: max: 5