[PR #231] [MERGED] Add Xcode Cloud artifacts, test results, and issues support #376

Closed
opened 2026-02-26 22:30:37 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/231
Author: @swiftlysingh
Created: 1/27/2026
Status: Merged
Merged: 1/27/2026
Merged by: @rudrankriyam

Base: mainHead: feature/xcode-cloud-artifacts-test-results-issues


📝 Commits (2)

  • d8998f5 Add Xcode Cloud artifacts, test results, and issues support (#205)
  • 4dcb867 Fix Xcode Cloud pagination and artifact download checks.

📊 Changes

9 files changed (+1838 additions, -0 deletions)

View changed files

📝 cmd/commands_test.go (+40 -0)
📝 cmd/xcode_cloud.go (+595 -0)
📝 internal/asc/client_http_test.go (+203 -0)
📝 internal/asc/client_pagination.go (+8 -0)
📝 internal/asc/client_test.go (+144 -0)
📝 internal/asc/output_core.go (+28 -0)
📝 internal/asc/xcode_cloud.go (+421 -0)
📝 internal/asc/xcode_cloud_output.go (+176 -0)
📝 internal/asc/xcode_cloud_test.go (+223 -0)

📄 Description

Summary

Closes #205

Adds support for Xcode Cloud artifacts, test results, and issues APIs:

  • xcode-cloud artifacts list --action-id - List artifacts for a build action
  • xcode-cloud artifacts get --id - Get artifact details
  • xcode-cloud artifacts download --id --path - Download artifact to local file
  • xcode-cloud test-results list --action-id - List test results for a build action
  • xcode-cloud test-results get --id - Get test result details
  • xcode-cloud issues list --action-id - List issues (errors/warnings) for a build action
  • xcode-cloud issues get --id - Get issue details

Implementation Details

  • Added API types: CiArtifact, CiTestResult, CiIssue with full attributes
  • Added client methods with pagination support via functional options
  • Safe artifact download with symlink rejection and atomic writes (temp file + rename)
  • URL validation for downloads (HTTPS only, Apple CDN host verification)
  • Table/markdown output formatters for all new types
  • Comprehensive unit tests for client methods, output formatting, and CLI validation

Testing

All unit tests pass (make test). E2E tested against real Xcode Cloud workflows:

  • Artifact download produces valid zip files
  • Issues correctly show build errors with file locations
  • All output formats (json, table, markdown) work correctly

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/231 **Author:** [@swiftlysingh](https://github.com/swiftlysingh) **Created:** 1/27/2026 **Status:** ✅ Merged **Merged:** 1/27/2026 **Merged by:** [@rudrankriyam](https://github.com/rudrankriyam) **Base:** `main` ← **Head:** `feature/xcode-cloud-artifacts-test-results-issues` --- ### 📝 Commits (2) - [`d8998f5`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/d8998f515e4bb5c8d5b9cf4457ef712fa5a33f71) Add Xcode Cloud artifacts, test results, and issues support (#205) - [`4dcb867`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/4dcb8674b71add57b784a7d6750b04945ee55f68) Fix Xcode Cloud pagination and artifact download checks. ### 📊 Changes **9 files changed** (+1838 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `cmd/commands_test.go` (+40 -0) 📝 `cmd/xcode_cloud.go` (+595 -0) 📝 `internal/asc/client_http_test.go` (+203 -0) 📝 `internal/asc/client_pagination.go` (+8 -0) 📝 `internal/asc/client_test.go` (+144 -0) 📝 `internal/asc/output_core.go` (+28 -0) 📝 `internal/asc/xcode_cloud.go` (+421 -0) 📝 `internal/asc/xcode_cloud_output.go` (+176 -0) 📝 `internal/asc/xcode_cloud_test.go` (+223 -0) </details> ### 📄 Description ## Summary Closes #205 Adds support for Xcode Cloud artifacts, test results, and issues APIs: - **`xcode-cloud artifacts list --action-id`** - List artifacts for a build action - **`xcode-cloud artifacts get --id`** - Get artifact details - **`xcode-cloud artifacts download --id --path`** - Download artifact to local file - **`xcode-cloud test-results list --action-id`** - List test results for a build action - **`xcode-cloud test-results get --id`** - Get test result details - **`xcode-cloud issues list --action-id`** - List issues (errors/warnings) for a build action - **`xcode-cloud issues get --id`** - Get issue details ## Implementation Details - Added API types: `CiArtifact`, `CiTestResult`, `CiIssue` with full attributes - Added client methods with pagination support via functional options - Safe artifact download with symlink rejection and atomic writes (temp file + rename) - URL validation for downloads (HTTPS only, Apple CDN host verification) - Table/markdown output formatters for all new types - Comprehensive unit tests for client methods, output formatting, and CLI validation ## Testing All unit tests pass (`make test`). E2E tested against real Xcode Cloud workflows: - Artifact download produces valid zip files - Issues correctly show build errors with file locations - All output formats (json, table, markdown) work correctly --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 22:30:37 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#376
No description provided.