A Visual Studio Code extension to manage, monitor, and trigger Xcode Cloud builds directly from your editor. Experience a workflow similar to GitHub Actions, tailored for Apple's Xcode Cloud CI/CD service.
- Full CRUD Support: Create, Edit, and Delete Xcode Cloud workflows directly within VS Code using a rich editor UI.
- Multi-Product Support: Automatically discovers all apps (products) in your App Store Connect account.
- Enabled/Disabled Toggling: Quickly enable or disable workflows without leaving your editor.
- Workflow Details: Dedicated view showing comprehensive metadata, repository links, build triggers, and configuration.
- Unified Tree View: Hierarchical view (Workflows β Build Runs β Build Actions β Test Results/Issues).
- Real-time Build Status: Automatic polling with instant desktop notifications for build completions, failures, or cancellations.
- Live Action Tracking: See build actions transition from PENDING β RUNNING β COMPLETE with animated status icons.
- Issue Reporting: Drill down into any build action to see identified issues, including
ANALYZER_WARNING,ERROR,TEST_FAILURE, andWARNING. - Test Results Integration: Drill down into specific test actions to see individual test class results (Passed, Failed, Skipped) with failure messages and durations.
- Detailed Diagnostics: View file locations and line numbers for build issues directly in the tree view tooltips.
- Status Bar Integration: At-a-glance status of active builds in your VS Code status bar.
- Custom Sorting: Toggle between newest-first and oldest-first build run views.
- Progressive Log Streaming: Each build run gets a dedicated Output Channel that appends logs as actions complete, mimicking the GitHub Actions log stream.
- Build Timeline: Visualize the hierarchical breakdown of build phases, tasks, and test results on completed runs.
- Detailed Phase/Task Breakdown (macOS + Xcode only): Automatically parses
.xcresultbundles for detailed phase-level timing and task execution details usingxcresulttool. - Cross-Platform Fallback: On Windows/Linux, timeline shows API-level actions with graceful fallback to ensure consistent UX across platforms.
- Log Download & Caching: Download full build action logs and cache them for instant re-opening on subsequent clicks.
- Trigger Build: Start new builds with smart branch/tag/pull-request discovery.
- Keyboard:
Shift+Enter(when a workflow is selected) - Context Menu: Right-click a workflow β "Trigger Build"
- Keyboard:
- Cancel Build: Stop running builds with a single click.
- Keyboard:
Shift+Backspace(when an active build is selected)
- Keyboard:
- Load Timeline: View detailed breakdown of a completed build.
- Keyboard:
Ctrl+Shift+L/Cmd+Shift+L(when a completed build is selected) - Auto-triggers: Automatically loads when you click a completed build run
- Keyboard:
- Refresh Workflows: Reload the tree.
- Keyboard:
F5(when in the Workflows view)
- Keyboard:
- Auto-expand on Trigger: When you trigger a build, the workflow automatically expands to reveal the new build run immediately.
- Open in App Store Connect: Jump directly to the Xcode Cloud dashboard in your browser.
- Apple Developer Account with Xcode Cloud access.
- App Store Connect API Key with Developer or higher access level.
- Open VS Code Command Palette (
Cmd+Shift+P). - Run "Xcode Cloud: Configure App Store Connect Credentials".
- Enter your Issuer ID, Key ID, and paste your Private Key (
.p8file contents).
Your credentials are stored securely using VS Code's Secret Storage (OS keychain).
- Click the Xcode Cloud icon in the Activity Bar.
- Use the + (Plus) icon in the Workflows header to create a new workflow.
- Right-click any workflow to Edit its conditions (Branch/Tag/PR triggers), actions (Build/Test/Archive), or settings.
- View deep-dive information in the Workflow Details panel.
- Expand a workflow to see its Build Runs (sorted newest-first by default).
- Expand a build run to see its Build Actions (Build, Test, Archive steps).
- Watch as actions progress: PENDING β RUNNING β COMPLETE with live status updates.
- Each completed action automatically appends its logs to the Output Channel (e.g.,
Xcode Cloud: Build #42). - Expand a completed action to see Issues (Errors, Warnings, Analyzer results) and Test Results (for TEST actions).
- Automatic Log Streaming: When you trigger a build, the log Output Channel opens automatically and streams action completion logs in real-time.
- Timeline Inspection: Click on any completed build run β the timeline automatically loads in the Build Timeline panel with:
- macOS + Xcode: Full phase-level breakdown of each action (Compile Sources, Link Binary, Run Tests, etc.)
- Windows/Linux: API-level action summary (detailed phases unavailable without Xcode)
- Manual Log View: Right-click a finished build action β "View Build Logs" to download and inspect the full log archive.
The extension handles large accounts gracefully:
- Pagination: Automatically fetches all workflows and build runs, even for accounts with 100+ items per product.
- Rate Limiting: Serial request queue prevents rate limit errors (429) when polling multiple active builds.
- Caching: Frequently-accessed data (products, workflows, versions) cached for 30-60 seconds to reduce API calls.
- Adaptive Polling: Polling interval increases from 15s (active builds) to 30s (idle) to balance responsiveness and API usage.
| Command | Shortcut | Description |
|---|---|---|
Xcode Cloud: Configure App Store Connect Credentials |
β | Set up your API credentials (Issuer ID, Key ID, Private Key) |
Xcode Cloud: Create Workflow |
β | Launch the workflow creator UI |
Xcode Cloud: Edit Workflow |
β | Modify an existing workflow configuration |
Xcode Cloud: Delete Workflow |
β | Permanently remove a workflow |
Xcode Cloud: Trigger Build |
Shift+Enter |
Start a new build with branch/tag/PR selection |
Xcode Cloud: Cancel Build |
Shift+Backspace |
Stop an active build run |
Xcode Cloud: Load Build Timeline |
Ctrl+Shift+L / Cmd+Shift+L |
View detailed phase/task breakdown for a completed build |
Xcode Cloud: View Build Logs |
β | Download and display full build action logs |
Xcode Cloud: View Workflow Details |
β | Show metadata in the details panel |
Xcode Cloud: Refresh Workflows |
F5 |
Reload the tree from the API |
Xcode Cloud: Toggle Sort Order |
β | Switch between newest-first and oldest-first build history |
Xcode Cloud: Open in App Store Connect |
β | Open the Xcode Cloud dashboard in your browser |
Configure extension behavior via VS Code Settings (Cmd/Ctrl+, β search "Xcode Cloud"):
| Setting | Default | Description |
|---|---|---|
xcodecloud.pollIntervalSeconds |
30 |
How often (in seconds) to poll for build status updates. Active builds use 15s for faster feedback. |
xcodecloud.enableDetailedTimeline |
true |
Parse XCResult bundles for detailed phase/task timelines (requires macOS + Xcode installed). |
xcodecloud.autoShowBuildLogs |
true |
Automatically open the build log Output Channel when a build is triggered. |
- Encryption: Credentials are stored using VS Code's Secret Storage (OS-level keychain on macOS/Linux/Windows).
- Local Generation: API Tokens (JWT) are signed locally using the
joselibrary β your private key never leaves your machine. - Zero Privacy Leak: All communication stays strictly between your machine and Apple's API servers (
api.appstoreconnect.apple.com). - No Telemetry: This extension does not collect or send any telemetry or usage data.
- No Code Execution: Build logs and timeline data are parsed locally β no external scripts or services are invoked.
This extension utilizes the App Store Connect API v1 endpoints:
GET /v1/ciProducts- Product discovery.GET /v1/ciWorkflows- Workflow CRUD operations.GET /v1/ciBuildRuns- Build history and tracking.GET /v1/ciBuildActions- Action/step monitoring.GET /v1/ciBuildActions/{id}/testResults- Individual test result analysis.GET /v1/ciBuildActions/{id}/issues- Xcode Cloud build issues reporting.GET /v1/scmRepositories&/v1/scmGitReferences- Repository and branch management.
Contributions are welcome! Please open an issue or submit a Pull Request on GitHub.
Before submitting, ensure:
- Code passes
npm run lintandnpm run check-types - Tests pass:
npm test - Changes follow existing patterns in the codebase
MIT License. See LICENSE for details.
"Xcode Cloud", "Xcode", "App Store Connect", "Apple Developer", and all related Apple trademarks and service marks are the property of Apple Inc. This extension is not affiliated with, endorsed by, or sponsored by Apple Inc.
This extension is an independent third-party tool that integrates with Apple's publicly available App Store Connect API. All product names, trademarks, and service marks belong to their respective owners.
The use of these names in this extension is for descriptive and referential purposes only and does not imply any endorsement or affiliation with Apple Inc.
- Inspired by the GitHub Actions extension.
- Built with jose for JWT signing, undici for HTTP requests, and yauzl for ZIP handling.
- Special thanks to the VS Code extension community for documentation and best practices.