No more put ‘No test notes’ at Test Flight
No test notes.
It’s not clear what to test using this build
Set Up the Xcode Cloud Workflow
To get a Github PR infos from Xcode Cloud, You should enable settings like below
Environment
-
Set your Github Token
-
Set Xcode Version – Latest Release
Start Conditions -> See Apple Document
-
CI_PULL_REQUEST_NUMBER
-
CI_PULL_REQUEST_SOURCE_COMMIT
-
CI_PULL_REQUEST_TARGET_COMMIT
To get CI_PULL_REQUEST variables You should set Pull Request Changes as Start Condition
Post Actions
-
Set Test Flight Internal Testing
ci_scripts/ci_post_clone.sh
#!/bin/shbrew install jq
ci_scripts/ci_post_xcodebuild.sh
#!/bin/zsh# ci_post_xcodebuild.sh# PR DescriptionGITHUB_REST_API_PR_INFO=$(curl -L\ -H "Accept: vnd.github+json" \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "https://api.github.com/repos/$CI_PULL_REQUEST_TARGET_REPO/pulls/$CI_PULL_REQUEST_NUMBER")# Fixed: parse error: Invalid string: control characters from U+0000 through U+001F must be escaped, https://stackoverflow.com/questions/52399819/invalid-string-control-characters-from-u0000-through-u001f-must-be-escaped-usPR_TITLE=$(printf '%s\n' "$GITHUB_REST_API_PR_INFO" | jq -r '.title')PR_DESCRIPTION=$(printf '%s\n' "GITHUB_REST_API_PR_INFO" | jq -r '.body')PR_DESCRIPTION_URLS=$(echo "$PR_DESCRIPTION" | grep -Eo 'https?://[^[:space:]]+')PR_DESCRIPTION_JIRA_TICKETS=$(echo "$PR_DESCRIPTION_URLS" | grep 'atlassian')# GIT COMMITSCOMMIT_MESSAGES=$(git log $CI_PULL_REQUEST_TARGET_COMMIT^..$CI_PULL_REQUEST_SOURCE_COMMIT --pretty=format:"%s\n%b")FORMATTED_COMMIT_MESSAGES=$(echo -e "$COMMIT_MESSAGES" | awk 'NF {print}' ORS='\n')# TEST FLIGHT - What To TestWHAT_TO_TEST="$PR_TITLE\nCommits:\n$FORMATTED_COMMIT_MESSAGES\nJIRA Tickets:\n$PR_DESCRIPTION_JIRA_TICKETS"if [[ -d "$CI_APP_STORE_SIGNED_APP_PATH" ]]; then TESTFLIGHT_DIR_PATH=../TestFlight mkdir $TESTFLIGHT_DIR_PATH echo "$WHAT_TO_TEST" >! $TESTFLIGHT_DIR_PATH/WhatToTest.en-US.txtfi





