apple_add_beta_testers_to_group
Add beta testers to an existing beta group using their IDs. Specify the beta group ID and an array of tester IDs to assign them to that group for testing.
Instructions
Add beta testers to a group
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| betaGroupId | Yes | Beta Group ID | |
| betaTesterIds | Yes | Array of beta tester IDs |
Implementation Reference
- src/apple/tools.ts:1001-1016 (handler)The main implementation of the 'apple_add_beta_testers_to_group' tool. Defines the ToolDef with name, description, schema, and handler that makes a POST request to /betaGroups/{betaGroupId}/relationships/betaTesters to add beta testers.
const addBetaTestersToGroup: ToolDef = { name: 'apple_add_beta_testers_to_group', description: 'Add beta testers to a group', schema: z.object({ betaGroupId: z.string().describe('Beta Group ID'), betaTesterIds: z.array(z.string()).describe('Array of beta tester IDs'), }), handler: async (client, args) => { return client.request(`/betaGroups/${args.betaGroupId}/relationships/betaTesters`, { method: 'POST', body: { data: args.betaTesterIds.map((id: string) => ({ type: 'betaTesters', id })), }, }); }, }; - src/apple/tools.ts:1004-1007 (schema)Schema validation for the tool: requires betaGroupId (string) and betaTesterIds (array of strings).
schema: z.object({ betaGroupId: z.string().describe('Beta Group ID'), betaTesterIds: z.array(z.string()).describe('Array of beta tester IDs'), }), - src/apple/tools.ts:1213-1252 (registration)The tool is registered in the exported appleTools array (line 1245: addBetaTestersToGroup is included in the list of all Apple tools).
export const appleTools: ToolDef[] = [ // App Management listApps, getApp, getAppInfo, updateAppInfoCategory, // Bundle IDs listBundleIds, createBundleId, // Versions & Localizations listVersions, createVersion, listVersionLocalizations, createVersionLocalization, updateVersionLocalization, // App Info Localizations (name, subtitle) listAppInfoLocalizations, updateAppInfoLocalization, // Screenshots listScreenshotSets, createScreenshotSet, uploadScreenshot, deleteScreenshot, // Builds listBuilds, assignBuild, // Age Rating & Review Info getAgeRating, updateAgeRating, updateReviewDetail, // Submission submitForReview, cancelSubmission, // Pricing & Availability getAppPricing, setAppPrice, listTerritoryAvailability, // Customer Reviews listCustomerReviews, respondToReview, // Bundle ID Capabilities listBundleIdCapabilities, enableCapability, disableCapability, // Certificates listCertificates, createCertificate, revokeCertificate, // Provisioning Profiles listProfiles, createProfile, deleteProfile, // Devices listDevices, registerDevice, updateDevice, // TestFlight - Beta Groups listBetaGroups, createBetaGroup, deleteBetaGroup, addBetaTestersToGroup, removeBetaTestersFromGroup, // TestFlight - Beta Testers listBetaTesters, inviteBetaTester, deleteBetaTester, // In-App Purchases listIAP, createIAP, getIAP, deleteIAP, // Subscription Groups listSubscriptionGroups, createSubscriptionGroup, deleteSubscriptionGroup, ]; - src/apple/tools.ts:5-10 (helper)The ToolDef interface definition used to type the tool constant.
interface ToolDef { name: string; description: string; schema: z.ZodObject<any>; handler: (client: AppleClient, args: any) => Promise<any>; }