Skip to content

Support uploading agent manifest packages through the A365 CLI #520

Open

Description

Is your feature request related to a problem?

Currently, a365 publish creates manifest.zip, but uploading it requires manually using the Microsoft 365 admin center.

The manual upload step prevents us from automating the complete deployment workflow.

Describe the solution you'd like

Please add a supported CLI command to upload and update agent manifest packages, with non-interactive authentication suitable for CI/CD.

Ideally, the command would:

  • Support initial publication of an agent manifest package.
  • Support updates to an existing agent.
  • Support non-interactive authentication suitable for CI/CD.
  • Return publishing status and actionable errors.

Describe alternatives you've considered

A supported API that can upload and update agent manifest packages would also enable us to automate this step.

Available workarounds

Manually upload manifest.zip through the Microsoft 365 admin center. This leaves a manual step in an otherwise automated deployment workflow.

Additional context

Is this capability planned, or is there a supported API we can use today?

I searched the repository's existing open and closed issues before filing and did not find a matching feature request. Related issue #90 concerns agents not appearing after publication, rather than a supported non-interactive upload/update workflow for CI/CD.

Activity

  1. github-actions commented on Oct 27, 2026

    @github-actions

    [AUTO-TRIAGE] Team Assistant Triage

    This issue has been automatically analyzed and triaged.

    AI Decision Reasoning: Type: Classified as 'feature' because the issue requests a new CLI command to automate the upload and update of agent manifest packages, which is not currently supported.
    Priority: Assigned P2 because the feature would significantly improve automation and CI/CD workflows, addressing a common pain point, but there is an existing manual workaround available.
    Copilot: This issue involves adding a new CLI command with non-interactive authentication and integration with external systems (Microsoft 365 admin center or API). Copilot is not well-suited for tasks requiring external API integration or complex business logic.
    Assignment: Grant Harris has expertise in backend development, CLI tools, and Azure, which align closely with the requirements of this feature request. Additionally, his contribution count is moderate, making him a suitable choice for this P2 issue.
    Labels: Applied labels enhancement, P2 based on issue type and priority

    Labels and assignee have been applied based on this analysis.

  2. github-actions commented on Oct 27, 2026

    @github-actions

    [AUTO-TRIAGE] Results

    Classification: feature
    Priority: P2
    Confidence: 100.0%

    Recommended Assignee: Grant Harris (@gwharris7)

    Analysis:
    type rationale: Classified as 'feature' because the issue requests a new CLI command to automate the upload and update of agent manifest packages, which is not currently supported.

    priority rationale: Assigned P2 because the feature would significantly improve automation and CI/CD workflows, addressing a common pain point, but there is an existing manual workaround available.

    copilot rationale: This issue involves adding a new CLI command with non-interactive authentication and integration with external systems (Microsoft 365 admin center or API). Copilot is not well-suited for tasks requiring external API integration or complex business logic.

    assignment rationale: Grant Harris has expertise in backend development, CLI tools, and Azure, which align closely with the requirements of this feature request. Additionally, his contribution count is moderate, making him a suitable choice for this P2 issue.

    labels rationale: Applied labels enhancement, P2 based on issue type and priority

    [SUGGESTION] Suggested Approach

      1. **Add a new CLI command for uploading manifest packages**: Create a new command, e.g., `a365 upload`, in the `src/Commands` directory. Extend the existing CLI framework to handle this functionality. Use the `Microsoft.Agents.A365.DevTools.Cli.Commands` namespace to define the command and implement options for specifying the file path, authentication method, and target environment.
      1. **Leverage Microsoft Graph API for uploading manifests**: Investigate the Microsoft Graph API or other relevant APIs for uploading agent manifests to Microsoft 365. Add a service class in `src/Services` to handle API interactions. Use the `requests` or `httpx` libraries (already listed in `autoTriage/requirements.txt`) for making HTTP requests if no existing SDK is available.
      1. **Implement non-interactive authentication**: Add support for non-interactive authentication using Azure Active Directory (AAD). Use the `azure-identity` library or similar to implement service principal-based authentication. Store credentials securely in environment variables or a configuration file, and document the setup process in `docs/SECRETS.md`.
      1. **Return actionable errors and publishing status**: Modify the new `a365 upload` command to parse API responses and provide meaningful feedback to the user. Include error handling for common issues such as authentication failures, invalid manifest files, or network errors. Log detailed errors to a file for debugging purposes (e.g., in `src/Logs`).
      1. **Write unit and integration tests**: Add unit tests for the new command in `src/Tests/Microsoft.Agents.A365.DevTools.Cli.Tests/Commands`. Create integration tests in `autoTriage/tests/scripts` to validate the end-to-end workflow, including uploading a manifest and verifying the publishing status. Use `pytest` and `pytest-asyncio` for testing, as specified in `autoTriage/requirements.txt`.

    Generated by TeamAssistant Auto-Triage powered by GitHub Models

  3. github-actions commented on Oct 30, 2026

    @github-actions

    SLA Escalation Alert

    This P2 issue has exceeded its SLA threshold.

    Metric Value
    Priority P2
    SLA Threshold 72 hours
    Time Since Update 73.0 hours
    Current Assignees Grant Harris (@gwharris7)

    Action: Adding Tech Lead ajmfehr as assignee for immediate attention.

    cc: ajmfehr


    Generated by AutoTriage SLA Escalation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

P2High priorityenhancementNew feature or requestescalatedIssue has breached SLA and been escalatedfeature

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions