Appcircle MCP Server

आधिकारिक

Appcircle का आध

Appcircle MCP के साथ आप क्या कर सकते हैं?

  • बिल्ड स्थिति और लॉग की निगरानी करें — पाइपलाइन रन जांचने और विफलताओं को डीबग करने के लिए get_build_status और get_build_logs का उपयोग करें।
  • बिल्ड ट्रिगर या रद्द करें — वास्तविक बिल्ड रन शुरू या रोकने के लिए trigger_build और cancel_build का उपयोग करें।
  • CI/CD स्वास्थ्य अंतर्दृष्टि उत्पन्न करें — एकत्रित स्वास्थ्य स्नैपशॉट, रुझान और मूल कारण विश्लेषण पाने के लिए get_build_insights_report का उपयोग करें।
  • परीक्षण वितरण प्रबंधित करें — परीक्षकों को बिल्ड भेजने के लिए get_distribution_profiles और send_app_version_to_testers का उपयोग करें।
  • हस्ताक्षर पहचान का निरीक्षण करें — हस्ताक्षर सेटअप की समीक्षा करने के लिए get_certificates, get_keystores, और get_provisioning_profiles का उपयोग करें।
  • स्टोर प्रकाशन ट्रैक करें — प्रकाशन प्रवाह रन की निगरानी के लिए get_publish_profiles और get_publish_details का उपयोग करें।

दस्तावेज़

Appcircle MCP Server

Appcircle के लिए MCP सर्वर: यह किसी भी MCP-सक्षम क्लाइंट (Claude Desktop, Cursor, VS Code, आदि) को Build, Signing Identities, Testing Distribution, Enterprise App Store, Publish to Stores, और Reporting टूल्स उपलब्ध कराता है। Appcircle MCP Server AI टूल्स और Appcircle के बीच सेतु का कार्य करता है; इस प्रकार AI एजेंट, असिस्टेंट और चैटबॉट संरचित, नियंत्रित और कार्य-स्तरीय टूल्स के माध्यम से Appcircle संसाधनों तक सुरक्षित रूप से पहुँच सकते हैं और उनके साथ इंटरैक्ट कर सकते हैं।

उपयोग के मामले

  • CI/CD और वर्कफ़्लो इंटेलिजेंस: पाइपलाइन रन की निगरानी करें, रिलीज़ स्थिति ट्रैक करें, और अपने मोबाइल CI/CD वर्कफ़्लो के बारे में जानकारी प्राप्त करें।
  • कॉन्फ़िगरेशन और पर्यावरण अंतर्दृष्टि: बिल्ड कॉन्फ़िगरेशन और साइनिंग सेटअप को क्वेरी करें ताकि समझा जा सके कि प्रोजेक्ट कैसे कॉन्फ़िगर किया गया है और समस्याएँ कहाँ उत्पन्न हो सकती हैं।
  • रिपोर्टिंग और परिचालन अंतर्दृष्टि: CI स्थिरता, आवर्ती समस्याओं, पाइपलाइन प्रदर्शन और समग्र CI/CD स्वास्थ्य का सारांश उत्पन्न करें।

चलाने के तरीके

आप MCP सर्वर को चार तरीकों से उपयोग कर सकते हैं:

मोडसारांश
1. रिमोट होस्टhttps://mcp.appcircle.io. से कनेक्ट करें; कोई स्थानीय इंस्टॉलेशन नहीं; आपका क्लाइंट प्रत्येक अनुरोध पर आपका Appcircle टोकन (जैसे Authorization: Bearer <token>) भेजता है।
2. स्थानीय (stdio)सर्वर को स्रोत से चलाएँ: रिपोजिटरी क्लोन करें, वैकल्पिक रूप से venv का उपयोग करें, फिर appcircle-mcp चलाएँ (डिफ़ॉल्ट ट्रांसपोर्ट stdio है)। Python और pip आवश्यक हैं। पर्यावरण में APPCIRCLE_ACCESS_TOKEN सेट करें। आपका MCP क्लाइंट सर्वर को उपप्रक्रिया के रूप में चलाता है।
3. स्थानीय (streamable-http)HTTP पर सर्वर को स्थानीय रूप से चलाएँ: --transport streamable-http और वैकल्पिक रूप से --host / --port का उपयोग करें (जैसे appcircle-mcp --transport streamable-http --host 127.0.0.1 --port 8000)। क्लाइंट उस URL से कनेक्ट होते हैं और अनुरोध में अपना टोकन भेजते हैं।
4. स्थानीय (Docker)अपनी मशीन पर आधिकारिक Docker इमेज चलाएँ। Docker आवश्यक है। इमेज के डिफ़ॉल्ट पोर्ट का उपयोग करें या --port के साथ ओवरराइड करें; सटीक उपयोग के लिए इमेज दस्तावेज़ देखें।

विस्तृत क्लाइंट कॉन्फ़िगरेशन (Cursor, Claude, आदि) समर्पित installation guides में है; यह अनुभाग केवल उच्च-स्तरीय सारांश है।

इंस्टॉलेशन

क्लाइंट-विशिष्ट सेटअप गाइड:

  • Claude Applications - Claude Desktop और Claude Code CLI के लिए इंस्टॉलेशन गाइड।
  • Cursor IDE - Cursor IDE के लिए इंस्टॉलेशन गाइड।
  • Codex - Codex ऐप और Codex CLI के लिए इंस्टॉलेशन गाइड।
  • Antigravity IDE - Antigravity IDE के लिए इंस्टॉलेशन गाइड।
  • VS Code (GitHub Copilot) - GitHub Copilot के साथ VS Code के लिए इंस्टॉलेशन गाइड।
  • Windsurf IDE - Windsurf IDE के लिए इंस्टॉलेशन गाइड।
  • Gemini CLI - Gemini CLI के लिए इंस्टॉलेशन गाइड।
  • GitHub Copilot CLI - GitHub Copilot CLI के लिए इंस्टॉलेशन गाइड।

कॉन्फ़िगरेशन (पर्यावरण चर)

चरआवश्यकविवरण
APPCIRCLE_ACCESS_TOKENहाँ (केवल stdio)Appcircle API एक्सेस टोकन। stdio ट्रांसपोर्ट का उपयोग करते समय आवश्यक है। streamable-http के लिए, प्रत्येक क्लाइंट अपना स्वयं का टोकन भेजता है। टोकन कैसे प्राप्त करें, इसके लिए Obtaining a token देखें।
APPCIRCLE_API_URLनहींAPI बेस URL (डिफ़ॉल्ट: https://api.appcircle.io स्व-होस्टेड उपयोगकर्ताओं के लिए भिन्न हो सकता है)।
APPCIRCLE_MCP_ALLOWED_HOSTनहीं (केवल streamable-http)MCP सर्वर के लिए सार्वजनिक होस्टनाम (जैसे mcp.appcircle.io)। रिवर्स प्रॉक्सी के पीछे तैनात करते समय इसे सेट करें ताकि सर्वर क्लाइंट से Host हेडर स्वीकार करे। localhost के लिए इसे छोड़ दें।
APPCIRCLE_MCP_PORTनहीं (केवल streamable-http)HTTP सर्वर के लिए बाइंड पोर्ट (डिफ़ॉल्ट: 8000)। --port दिए जाने पर इसे ओवरराइड किया जाता है। ऑन-प्रिम या Docker के लिए उपयोगी जब किसी विशिष्ट पोर्ट की आवश्यकता हो।
LOG_LEVELनहींलॉगिंग स्तर, जैसे DEBUG, INFO (डिफ़ॉल्ट: INFO)।
APPCIRCLE_EXCLUDED_TOOLSETSनहींबहिष्कृत करने के लिए अल्पविराम-पृथक टूलसेट (जैसे build_module,report)। नीचे Toolsets देखें।
AC_MCP_ENABLE_WRITE_TOOLSनहींलेखन/क्रिया टूल्स (जैसे trigger_build, cancel_build) डिफ़ॉल्ट रूप से पंजीकृत होते हैं। ऑप्ट आउट करने और उन्हें बिल्कुल पंजीकृत न करने के लिए false/0/no/off पर सेट करें (केवल कॉल समय पर अक्षम करना नहीं)।

इन्हें अपने शेल या अपने MCP क्लाइंट के कॉन्फ़िगरेशन में सेट करें।

टूलसेट

उपलब्ध टूलसेट

निम्नलिखित टूल सेट उपलब्ध हैं:

टूलसेटविवरण
build_moduleबिल्ड प्रोफाइल, कॉन्फ़िगरेशन, वर्कफ़्लो, कमिट और पाइपलाइन संचालन
signing_identitiesसाइनिंग पहचान और बंडल पहचानकर्ता
testing_distributionपरीक्षण वितरण प्रोफाइल और वितरण विवरण
publish_to_storesप्रकाशन प्रोफाइल और स्टोर प्रकाशन संचालन
enterprise_app_storeएंटरप्राइज़ ऐप स्टोर प्रोफाइल और स्टोर विवरण
reportरिपोर्टिंग: बिल्ड इतिहास, वितरण, साइनिंग, प्रकाशन स्थिति और संबंधित रिपोर्ट

आप एक या अधिक टूलसेट बहिष्कृत कर सकते हैं ताकि उनके टूल पंजीकृत न हों। बहिष्करण CLI तर्कों या APPCIRCLE_EXCLUDED_TOOLSETS पर्यावरण चर के माध्यम से सेट किए जा सकते हैं; दोनों को मर्ज किया जाता है (यूनियन)।

  • CLI: --exclude toolset1 toolset2 या --exclude-toolsets toolset1,toolset2
  • Env: APPCIRCLE_EXCLUDED_TOOLSETS=build_module,report

बहिष्करण के साथ उदाहरण MCP कॉन्फ़िग (Cursor / Claude Desktop):

{
  "mcpServers": {
    "appcircle": {
      "command": "appcircle-mcp",
      "args": ["--exclude", "report"]
    }
  }
}

टूल्स

टूल्स MCP tools/list के माध्यम से उपलब्ध कराए जाते हैं। नीचे दी गई संदर्भ सूची सभी टूल्स को टूलसेट के अनुसार सूचीबद्ध करती है; प्रतिक्रिया संरचना और उदाहरणों के लिए docs/tool_contract.md देखें।

Build
  • get_build_profiles - वर्तमान संगठन के लिए बिल्ड प्रोफाइल प्राप्त करें (पृष्ठांकित)। वैकल्पिक रूप से प्रोफाइल नाम, प्लेटफ़ॉर्म, अंतिम बिल्ड स्थिति और रिपोजिटरी स्रोत द्वारा फ़िल्टर करें। वैकल्पिक रूप से सॉर्ट करें।

    • एक्सेस स्तर: read
    • page: पृष्ठ संख्या (1-आधारित)। डिफ़ॉल्ट: 1. (number, optional)
    • size: पृष्ठ आकार (1-100)। डिफ़ॉल्ट: 25. 100 से ऊपर के मान 100 पर सीमित होते हैं। (number, optional)
    • search: प्रोफाइल फ़िल्टर करने के लिए वैकल्पिक खोज शब्द (प्रोफाइल नाम पर केस-असंवेदनशील आंशिक मिलान; API की खोज अन्य प्रोफाइल फ़ील्ड से भी मेल खा सकती है)। (string, optional)
    • platform: फ़िल्टर करने के लिए वैकल्पिक प्लेटफ़ॉर्म कोड की सूची। अनुमत मान: 1=iOS, 2=Android. (list of numbers, optional)
    • last_build_status: फ़िल्टर करने के लिए वैकल्पिक अंतिम बिल्ड स्थिति कोड की सूची। अनुमत मान: 0=Success, 1=Failed, 2=Canceled, 3=Timeout, 90=Waiting, 91=Running. (list of numbers, optional)
    • repository_source: फ़िल्टर करने के लिए वैकल्पिक रिपोजिटरी स्रोत कोड की सूची। अनुमत मान: 1=GitHub, 2=Bitbucket, 3=GitLab, 4=Azure DevOps, 6=Public Repository, 7=Private Repository, 8=SSH. (list of numbers, optional)
    • sort: वैकल्पिक सॉर्ट फ़ील्ड कोड। अनुमत मान: 1=Profile Name, 2=Create Date, 3=Last Build Date. (number, optional)
    • sort_direction: वैकल्पिक सॉर्ट दिशा कोड। अनुमत मान: 1=ASC, 2=DESC. (number, optional)
  • get_build_profile_details - ID द्वारा एकल बिल्ड प्रोफाइल प्राप्त करें, वैकल्पिक रूप से इसके बिल्ड कॉन्फ़िगरेशन सहित।

    • एक्सेस स्तर: read
    • profile_id: बिल्ड प्रोफाइल ID (जैसे UUID)। (string, required)
    • configurations: यदि true है, तो प्रोफाइल के बिल्ड कॉन्फ़िगरेशन भी लाएँ। डिफ़ॉल्ट: false. (boolean, optional)
  • get_build_configuration_details - प्रोफाइल ID और कॉन्फ़िगरेशन ID द्वारा एकल बिल्ड कॉन्फ़िगरेशन प्राप्त करें।

    • एक्सेस स्तर: read
    • profile_id: बिल्ड प्रोफाइल ID (जैसे UUID)। (string, required)
    • configuration_id: बिल्ड कॉन्फ़िगरेशन ID (जैसे UUID)। (string, required)
  • get_build_profile_workflows - प्रोफाइल ID द्वारा बिल्ड प्रोफाइल के वर्कफ़्लो प्राप्त करें।

    • एक्सेस स्तर: read
    • profile_id: बिल्ड प्रोफाइल ID (जैसे UUID)। (string, required)
  • get_workflow_detail - बिल्ड प्रोफाइल ID और वर्कफ़्लो ID द्वारा एकल वर्कफ़्लो प्राप्त करें।

    • एक्सेस स्तर: read
    • profile_id: बिल्ड प्रोफाइल ID (जैसे UUID)। (string, required)
    • workflow_id: वर्कफ़्लो ID (जैसे UUID)। (string, required)
  • get_commits_by_branch - बिल्ड ब्रांच के लिए कमिट प्राप्त करें (पृष्ठांकित)।

    • एक्सेस स्तर: read
    • branch_id: ब्रांच ID (जैसे UUID)। (string, required)
    • page: पृष्ठ संख्या (1-आधारित)। यदि size के साथ दिया गया है, तो पृष्ठांकन सक्षम होता है। डिफ़ॉल्ट: 1. (number, optional)
    • size: पृष्ठ आकार। यदि page के साथ दिया गया है, तो पृष्ठांकन सक्षम होता है। डिफ़ॉल्ट: 25, अधिकतम 100. (number, optional)
  • get_commit_details - कमिट ID (UUID) या कमिट हैश (git SHA) द्वारा एकल कमिट प्राप्त करें। commit_id या commit_hash में से कोई एक प्रदान करें, दोनों नहीं।

    • एक्सेस स्तर: read
    • commit_id: कमिट ID (UUID)। (string, optional)
    • commit_hash: कमिट हैश (git SHA)। (string, optional)
  • get_last_commit - बिल्ड ब्रांच पर सबसे हालिया कमिट प्राप्त करें।

    • एक्सेस स्तर: read
    • branch_id: ब्रांच ID (जैसे UUID)। (string, required)
  • get_build_status - बिल्ड की स्थिति प्राप्त करें (जैसे 0=Success, 1=Failed, 2=Canceled, 3=Timeout, 90=Waiting, 91=Running, 92=Completing, 99=Unknown)।

    • एक्सेस स्तर: read
    • commit_id: कमिट ID (UUID)। (string, required)
    • build_id: बिल्ड ID (UUID)। (string, required)
  • get_build_logs - बिल्ड के लॉग प्राप्त करें, वैकल्पिक रूप से एकल चरण तक सीमित। मॉडल के संदर्भ को भरने से बचने के लिए डिफ़ॉल्ट रूप से tail-ट्रंकेटेड दृश्य होता है।

    • एक्सेस स्तर: read
    • commit_id: कमिट ID (UUID)। (string, required)
    • build_id: बिल्ड ID (UUID)। (string, required)
    • step: वैकल्पिक सटीक चरण नाम (केस-असंवेदनशील) आउटपुट को एक चरण के लॉग ब्लॉक तक सीमित करने के लिए। (string, optional)
    • full_log: यदि true है, तो डिफ़ॉल्ट tail के बजाय पूरा लॉग लौटाएँ। फिर भी 256 KB पर सीमित। डिफ़ॉल्ट: false. (boolean, optional)
    • tail_lines: full_log का उपयोग न करने पर अंत से रखने के लिए पंक्तियों की संख्या। डिफ़ॉल्ट: 200, अधिकतम 1000. (number, optional)
    • grep: ट्रंकेशन से पहले पंक्तियों पर लागू केस-असंवेदनशील सबस्ट्रिंग फ़िल्टर। (string, optional)
  • get_variable_groups - संगठन के लिए सभी बिल्ड पर्यावरण चर समूह प्राप्त करें, जिसमें प्रत्येक समूह के चर (key, value, isSecret, isFile) शामिल हैं। गुप्त मान API द्वारा पहले से ही लाल रंग में दिखाए जाते हैं।

    • एक्सेस स्तर: read
    • कोई पैरामीटर नहीं लेता।
  • trigger_build - SIDE EFFECT: एक नया वास्तविक बिल्ड रन शुरू करता है (वास्तविक बिल्ड को कतारबद्ध करता है, बिल्ड मिनट/क्रेडिट की खपत करता है) या तो एक ब्रांच पर (नवीनतम सिंक किए गए कमिट) या एक विशिष्ट कमिट के लिए। डिफ़ॉल्ट रूप से पंजीकृत; ऑप्ट आउट करने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • एक्सेस स्तर: write
    • profile_id: बिल्ड प्रोफाइल ID (जैसे UUID)। ब्रांच मोड में आवश्यक (commit_id नहीं दिया गया); कमिट मोड में अनुपयोगी। (string, optional)
    • workflow_id: वर्कफ़्लो ID (जैसे UUID)। ब्रांच मोड में आवश्यक। कमिट मोड में वैकल्पिक (छोड़े जाने पर अंतिम-उपयोग किए गए/डिफ़ॉल्ट वर्कफ़्लो का उपयोग करता है)। (string, optional)
    • branch_name: वैकल्पिक ब्रांच नाम (जैसे "main")। केवल ब्रांच मोड; छोड़े जाने पर प्रोफाइल की डिफ़ॉल्ट ब्रांच पर वापस जाता है। commit_id के साथ नहीं दिया जाना चाहिए। (string, optional)
    • commit_id: कमिट का अपना ID (git हैश नहीं) ब्रांच पर नवीनतम के बजाय एक विशिष्ट कमिट के लिए बिल्ड ट्रिगर करने के लिए। branch_name के साथ नहीं दिया जाना चाहिए। (string, optional)
    • configuration_id: डिफ़ॉल्ट के बजाय उपयोग करने के लिए वैकल्पिक बिल्ड कॉन्फ़िगरेशन ID (जैसे UUID)। (string, optional)
  • cancel_build - SIDE EFFECT: एक कतारबद्ध या चल रहे बिल्ड को रद्द करता है (वास्तविक, प्रगति पर कार्य रोका जाता है; फिर से शुरू नहीं किया जा सकता)। डिफ़ॉल्ट रूप से पंजीकृत; ऑप्ट आउट करने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • एक्सेस स्तर: write
    • task_id: बिल्ड का टास्क ID (trigger_build द्वारा लौटाया गया "taskId" फ़ील्ड)। (string, required)
Signing Identities
  • get_bundle_identifiers - संगठन के लिए सभी बंडल पहचानकर्ता प्राप्त करें (iOS/macOS ऐप बंडल IDs)।

    • एक्सेस स्तर: read
    • कोई पैरामीटर नहीं।
  • get_certificates - संगठन के लिए सभी साइनिंग सर्टिफिकेट प्राप्त करें। संवेदनशील फ़ील्ड (p12Password, p12Binary, metaData, thumbprint) को छोड़ा गया है।

    • पहुंच स्तर: read
    • कोई पैरामीटर नहीं।
  • get_keystores - संगठन के लिए सभी कीस्टोर प्राप्त करें (जैसे Android साइनिंग कीस्टोर)। संवेदनशील फ़ील्ड (password, aliasPassword, binary, checkSum, sha256FingerPrint) को छोड़ा गया है।

    • पहुंच स्तर: read
    • कोई पैरामीटर नहीं।
  • get_provisioning_profiles - संगठन के लिए प्रोविज़निंग प्रोफ़ाइल प्राप्त करें (जैसे iOS/macOS)। संवेदनशील/बड़े फ़ील्ड (binary, metaData, certificateThumbPrints, provisionedDevices, connectApiKeyId) को छोड़ा गया है। वैकल्पिक रूप से ऐप (बंडल) ID से फ़िल्टर करें।

    • पहुंच स्तर: read
    • app_id: प्रोविज़निंग प्रोफ़ाइल फ़िल्टर करने के लिए वैकल्पिक ऐप (बंडल) ID (जैसे com.example.app)। (string, optional)
परीक्षण वितरण
  • get_distribution_profiles - वर्तमान संगठन के लिए परीक्षण वितरण प्रोफ़ाइल प्राप्त करें (पेजिनेटेड)। वैकल्पिक रूप से प्रोफ़ाइल नाम, प्लेटफ़ॉर्म और प्रमाणीकरण प्रकार से फ़िल्टर करें। वैकल्पिक रूप से क्रमबद्ध करें।

    • पहुंच स्तर: read
    • page: पेज संख्या (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
    • search: प्रोफ़ाइल फ़िल्टर करने के लिए वैकल्पिक खोज शब्द (प्रोफ़ाइल नाम पर केस-असंवेदनशील आंशिक मिलान; API की खोज अन्य प्रोफ़ाइल फ़ील्ड से भी मेल खा सकती है)। (string, optional)
    • platform: फ़िल्टर करने के लिए वैकल्पिक प्लेटफ़ॉर्म कोड की सूची। अनुमत मान: 1=iOS, 2=Android। (list of numbers, optional)
    • authentication_type: फ़िल्टर करने के लिए वैकल्पिक प्रमाणीकरण प्रकार कोड की सूची। अनुमत मान: 1=None, 3=Static Login, 4=LDAP, 5=SSO। (list of numbers, optional)
    • sort: वैकल्पिक सॉर्ट फ़ील्ड कोड। अनुमत मान: 1=प्रोफ़ाइल नाम, 2=निर्माण दिनांक, 3=अंतिम अपलोड दिनांक। (number, optional)
    • sort_direction: वैकल्पिक सॉर्ट दिशा कोड। अनुमत मान: 1=ASC, 2=DESC। (number, optional)
  • get_distribution_profile_details - ID द्वारा एक एकल परीक्षण वितरण प्रोफ़ाइल प्राप्त करें (वैकल्पिक ऐप संस्करण पेजिनेशन के साथ)।

    • पहुंच स्तर: read
    • profile_id: वितरण प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • page: ऐप संस्करणों के लिए पेज संख्या (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: ऐप संस्करणों के लिए पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
  • get_testing_groups - संगठन के लिए सभी परीक्षण वितरण समूह प्राप्त करें, जिसमें प्रत्येक समूह के सदस्य परीक्षक ईमेल और समूह प्रकार शामिल हैं।

    • पहुंच स्तर: read
    • कोई पैरामीटर नहीं लेता।
  • update_app_version_release_notes - साइड इफेक्ट: वितरण ऐप संस्करण के लिए परीक्षकों को दिखाई गई रिलीज़ नोट्स ("message") को अधिलेखित करता है। अपडेट किया गया ऐप संस्करण ऑब्जेक्ट लौटाता है (certThumbPrints को छोड़कर)। डिफ़ॉल्ट रूप से पंजीकृत; बाहर निकलने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • पहुंच स्तर: write
    • profile_id: वितरण प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
    • message: नया रिलीज़ नोट्स टेक्स्ट। (string, required)
  • send_app_version_to_testers - साइड इफेक्ट: परीक्षकों/परीक्षण समूह को वास्तविक सूचना भेजता है, किसी विशिष्ट ऐप संस्करण के लिए वितरण कार्य प्रेषित करता है। डिफ़ॉल्ट रूप से पंजीकृत; बाहर निकलने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • पहुंच स्तर: write
    • profile_id: वितरण प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
    • message: परीक्षकों को दिखाई जाने वाली सूचना संदेश। (string, required)
    • testers: भेजने के लिए परीक्षकों की सूची। प्रत्येक प्रविष्टि परीक्षक का ईमेल पता या परीक्षण समूह ID (get_testing_groups से "id" फ़ील्ड) है। (list of strings, required)
स्टोर पर प्रकाशित करें
  • get_publish_profiles - वर्तमान संगठन के लिए दिए गए प्लेटफ़ॉर्म प्रकार के लिए प्रकाशन प्रोफ़ाइल प्राप्त करें (पेजिनेटेड)। वैकल्पिक रूप से फ़्लो स्थिति, लक्ष्य मार्केटप्लेस, रिलीज़-उम्मीदवार बाइनरी उपस्थिति और स्टोर स्थिति से फ़िल्टर करें। वैकल्पिक रूप से क्रमबद्ध करें।

    • पहुंच स्तर: read
    • platform_type: प्रकाशन प्रोफ़ाइल का प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • page: पेज संख्या (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
    • flow_status: फ़िल्टर करने के लिए वैकल्पिक फ़्लो स्थिति कोड (जैसे 0=सफल, 1=असफल, 91=चल रहा है)। (number, optional)
    • market_place_type: फ़िल्टर करने के लिए वैकल्पिक लक्ष्य मार्केटप्लेस कोड की सूची। अनुमत मान platform_type पर निर्भर करते हैं -- ios: 0=उपलब्ध नहीं, 1=App Store Connect, 4=Intune; android: 0=उपलब्ध नहीं, 2=Google Play, 3=AppGallery, 4=Intune। (list of numbers, optional)
    • has_rc_binary: रिलीज़-उम्मीदवार बाइनरी होने के लिए वैकल्पिक फ़िल्टर। (boolean, optional)
    • store_status: फ़िल्टर करने के लिए वैकल्पिक स्टोर स्थिति कोड की सूची। अनुमत मान platform_type पर निर्भर करते हैं (ios के लिए android से कई अधिक कोड हैं, जैसे ios: "IN_REVIEW", "READY_FOR_SALE", "REJECTED"; android: "NOT_AVAILABLE", "DRAFT", "IN_PROGRESS", "HALTED", "COMPLETED")। (list of strings, optional)
    • sort: वैकल्पिक सॉर्ट फ़ील्ड कोड। अनुमत मान: 1=प्रोफ़ाइल नाम, 2=निर्माण दिनांक। (number, optional)
    • sort_direction: वैकल्पिक सॉर्ट दिशा कोड। अनुमत मान: 1=ASC, 2=DESC। (number, optional)
  • get_publish_profile_details - प्लेटफ़ॉर्म प्रकार और ID द्वारा एक एकल प्रकाशन प्रोफ़ाइल प्राप्त करें (वैकल्पिक ऐप संस्करण पेजिनेशन के साथ)।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • page: ऐप संस्करणों के लिए पेज संख्या (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: ऐप संस्करणों के लिए पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
  • get_app_version_metadata - एक एकल ऐप संस्करण के लिए स्टोर लिस्टिंग मेटाडेटा प्राप्त करें (ऐप समीक्षा जानकारी, स्थानीयकरण, रिलीज़ जानकारी, ऐप संस्करण जानकारी)। appReviewInformation.demoPassword को बाहर रखा गया है।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
  • get_metadata_locales - एक एकल ऐप संस्करण के लिए उपलब्ध स्टोर मेटाडेटा स्थानीयकरण प्राप्त करें (नाम, कोड, स्थानीयकृत, isPrimary)।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
  • get_intune_metadata - एक एकल ऐप संस्करण के लिए Microsoft Intune ऐप मेटाडेटा प्राप्त करें (प्रदर्शन नाम, प्रकाशक, बंडल ID, संस्करण, प्रकाशन स्थिति, लागू डिवाइस प्रकार, श्रेणियाँ, आदि)।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
  • get_publish_metadata_lock_status - प्राप्त करें कि प्रकाशन प्रोफ़ाइल का स्टोर मेटाडेटा संपादन के लिए लॉक है या नहीं।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
  • get_publish_details - एक एकल ऐप संस्करण के लिए प्रकाशन फ़्लो रन विवरण प्राप्त करें (स्थिति, समय, रन इतिहास/आर्टिफैक्ट/लॉग संसाधन IDs के साथ क्रमबद्ध चरण)।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • app_version_id: ऐप संस्करण ID (जैसे UUID)। (string, required)
  • get_publish_step_logs - प्रकाशन फ़्लो रन के लॉग प्राप्त करें, वैकल्पिक रूप से एक एकल चरण तक सीमित। मॉडल के संदर्भ को भरने से बचने के लिए डिफ़ॉल्ट रूप से टेल-ट्रंकेटेड दृश्य।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • publish_id: प्रकाशन फ़्लो रन ID (get_publish_details से "id" फ़ील्ड)। (string, required)
    • step_id: चरण ID (get_publish_details के चरणों की सूची से किसी चरण का "id" फ़ील्ड)। (string, required)
    • step: वैकल्पिक सटीक चरण नाम (केस-असंवेदनशील) आउटपुट को एक चरण के लॉग ब्लॉक तक सीमित करने के लिए। (string, optional)
    • full_log: यदि सत्य है, तो डिफ़ॉल्ट टेल के बजाय पूरा लॉग लौटाएं। फिर भी 256 KB पर सीमित। डिफ़ॉल्ट: false। (boolean, optional)
    • tail_lines: full_log का उपयोग न करने पर अंत से रखने के लिए पंक्तियों की संख्या। डिफ़ॉल्ट: 200, अधिकतम 1000। (number, optional)
    • grep: ट्रंकेशन से पहले पंक्तियों पर लागू केस-असंवेदनशील सबस्ट्रिंग फ़िल्टर। (string, optional)
  • get_publish_flows - प्रकाशन प्रोफ़ाइल के लिए कॉन्फ़िगर किए गए प्रकाशन फ़्लो प्राप्त करें (नाम, ID, पूर्ण फ़्लो दस्तावेज़ YAML)।

    • पहुंच स्तर: read
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
  • start_publish - साइड इफेक्ट: प्रकाशन फ़्लो रन शुरू करता है (या इसे एक विशिष्ट चरण से पुनरारंभ करता है) -- वास्तविक प्रकाशन कार्य (जैसे ऐप स्टोर/प्ले स्टोर/Intune पर अपलोड करना)। डिफ़ॉल्ट रूप से पंजीकृत; बाहर निकलने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • पहुंच स्तर: write
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • publish_id: प्रकाशन फ़्लो रन ID (get_publish_details से "id" फ़ील्ड)। (string, required)
    • step_id: वैकल्पिक चरण ID, फ़्लो की शुरुआत के बजाय उस चरण से शुरू करने के लिए। (string, optional)
    • organization_pool_id: वैकल्पिक संगठन पूल ID (जैसे UUID) चलाने के लिए। (string, optional)
  • stop_publish - साइड इफेक्ट: चल रहे प्रकाशन फ़्लो रन को रद्द करता है (वास्तविक, प्रगति में कार्य रोक दिया जाता है; फिर से शुरू नहीं किया जा सकता)। डिफ़ॉल्ट रूप से पंजीकृत; बाहर निकलने के लिए AC_MCP_ENABLE_WRITE_TOOLS=false सेट करें।

    • पहुंच स्तर: write
    • platform_type: प्लेटफ़ॉर्म प्रकार ("ios" या "android")। (string, required)
    • profile_id: प्रकाशन प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • publish_id: प्रकाशन फ़्लो रन ID (get_publish_details से "id" फ़ील्ड)। (string, required)
    • step_id: वैकल्पिक चरण ID। (string, optional)
    • organization_pool_id: वैकल्पिक संगठन पूल ID (जैसे UUID)। (string, optional)
एंटरप्राइज़ ऐप स्टोर
  • get_store_profiles - वर्तमान संगठन के लिए एंटरप्राइज़ ऐप स्टोर प्रोफ़ाइल प्राप्त करें (पेजिनेटेड)। खोज का समर्थन नहीं करता, लेकिन प्लेटफ़ॉर्म, प्रकाशन प्रकार और दृश्यता से फ़िल्टर कर सकता है। वैकल्पिक रूप से क्रमबद्ध करें।
    • पहुंच स्तर: read
    • page: पेज संख्या (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
    • platform_type: फ़िल्टर करने के लिए वैकल्पिक प्लेटफ़ॉर्म कोड की सूची। अनुमत मान: 1=iOS, 2=Android। (list of numbers, optional)
    • publish_type: फ़िल्टर करने के लिए वैकल्पिक प्रकाशन प्रकार कोड की सूची। अनुमत मान: 1=बीटा पर प्रकाशित, 2=लाइव पर प्रकाशित। (list of numbers, optional)
    • visibility: वैकल्पिक फ़िल्टर कि प्रोफ़ाइल सार्वजनिक रूप से सूचीबद्ध है या नहीं (true=सूचीबद्ध, false=असूचीबद्ध)। (boolean, optional)
    • sort: वैकल्पिक सॉर्ट फ़ील्ड कोड। अनुमत मान: 1=ऐप नाम, 2=निर्माण दिनांक, 3=डाउनलोड संख्या, 4=बाइनरी प्राप्ति दिनांक। (number, optional)
    • sort_direction: वैकल्पिक सॉर्ट दिशा कोड। अनुमत मान: 1=ASC, 2=DESC। (number, optional)
  • get_store_profile_details - किसी एक एंटरप्राइज़ ऐप स्टोर प्रोफ़ाइल को ID द्वारा प्राप्त करें (वैकल्पिक ऐप वर्ज़न पेजिनेशन के साथ)।
    • पहुँच स्तर: read
    • profile_id: एंटरप्राइज़ ऐप स्टोर प्रोफ़ाइल ID (जैसे UUID)। (string, required)
    • page: ऐप वर्ज़न के लिए पेज नंबर (1-आधारित)। डिफ़ॉल्ट: 1। (number, optional)
    • size: ऐप वर्ज़न के लिए पेज आकार (1-100)। डिफ़ॉल्ट: 25, अधिकतम 100। (number, optional)
    • प्रत्येक ऐप वर्ज़न का publishType फ़ील्ड एक int है: 0=कोई नहीं, 1=Beta, 2=Live।
Report
  • get_build_history_report - बिल्ड हिस्ट्री रिपोर्ट प्राप्त करें, वैकल्पिक रूप से दिनांक सीमा, बिल्ड प्रोफ़ाइल और संगठन द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • build_profile_name: बिल्ड प्रोफ़ाइल नाम से फ़िल्टर करें। (string, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
  • get_build_queue_waiting_report - बिल्ड कतार प्रतीक्षा रिपोर्ट प्राप्त करें, वैकल्पिक रूप से दिनांक सीमा द्वारा फ़िल्टर किया गया। पेजिनेटेड। नोट: इस एंडपॉइंट पर, buildDuration का अर्थ कतार प्रतीक्षा समय मिनटों में है, निष्पादन समय नहीं (get_build_history_report के विपरीत)।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। यदि दोनों दिए गए हैं तो end_date से <= होना चाहिए। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
  • get_build_activity_log - बिल्ड गतिविधि लॉग प्राप्त करें (वर्कफ़्लो/प्रोफ़ाइल परिवर्तन, CodePush रिलीज़, आदि), वैकल्पिक रूप से दिनांक सीमा और अन्य मापदंडों द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। यदि दोनों दिए गए हैं तो end_date से <= होना चाहिए। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • platform: प्लेटफ़ॉर्म प्रकार से फ़िल्टर करें (पूर्णांक कोड, जैसे 0=Android, 1=iOS)। (number, optional)
    • email: कार्य करने वाले उपयोगकर्ता के ईमेल से फ़िल्टर करें। (string, optional)
    • profile_name: बिल्ड प्रोफ़ाइल नाम से फ़िल्टर करें। (string, optional)
    • action: गतिविधि क्रिया कोड से फ़िल्टर करें (पूर्णांक; पूर्ण मैपिंग के लिए टूल स्रोत में BUILD_ACTIVITY_ACTIONS देखें)। (number, optional)
  • get_build_insights_report - बिल्ड हिस्ट्री पर एक परिकलित बिल्ड इनसाइट्स रिपोर्ट (हेल्थ स्नैपशॉट + ट्रेंड्स, रूट कॉज़, आर्टिफैक्ट हेल्थ, वर्कफ़्लो क्वालिटी, कतार समय, और परिपक्वता मूल्यांकन विश्लेषण) प्राप्त करें, जो सर्वर-साइड एकत्रित होती है। get_build_history_report के विपरीत, यह आंतरिक रूप से हर पेज प्राप्त करता है और कच्चे रिकॉर्ड के बजाय छोटे पूर्व-एकत्रित परिणाम लौटाता है।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD) वर्तमान अवधि के लिए। डिफ़ॉल्ट: पिछले 30 दिन। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD) वर्तमान अवधि के लिए। (string, optional)
    • sections: गणना करने के लिए वैकल्पिक अनुभागों की सूची: health_snapshot, root_cause, artifact_health, workflow_quality, queue_time, maturity_assessment। डिफ़ॉल्ट: सभी छह। (array of strings, optional)
    • include_sub_orgs: यदि true है, तो टोकन के अपने संगठन को फ़िल्टर करने के बजाय इतिहास-व्युत्पन्न मेट्रिक्स में क्रॉस-ऑर्ग बिल्ड रिकॉर्ड रखें। डिफ़ॉल्ट: false। (boolean, optional)
  • get_distribution_app_version_report - वितरित ऐप वर्ज़न के लिए दैनिक उपयोग रिपोर्ट प्राप्त करें। पेजिनेटेड; प्रोफ़ाइल, OS, संगठन द्वारा फ़िल्टर का समर्थन करता है।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • profile_name: वितरण प्रोफ़ाइल नाम से फ़िल्टर करें। (string, optional)
    • os: OS ("ios" या "android") से फ़िल्टर करें। (string, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
  • get_distribution_sent_report - वितरित ऐप साझाकरण के लिए दैनिक उपयोग रिपोर्ट प्राप्त करें। पेजिनेटेड; प्रोफ़ाइल, OS, संगठन द्वारा फ़िल्टर का समर्थन करता है।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • profile_name: वितरण प्रोफ़ाइल नाम से फ़िल्टर करें। (string, optional)
    • os: OS ("ios" या "android") से फ़िल्टर करें। (string, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
  • get_enterprise_app_store_app_usage_report - एंटरप्राइज़ ऐप स्टोर के लिए ऐप उपयोग रिपोर्ट प्राप्त करें। start_date और end_date अनिवार्य हैं। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: प्रारंभ दिनांक (YYYY-MM-DD)। (string, required)
    • end_date: समाप्ति दिनांक (YYYY-MM-DD)। (string, required)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • organization_id: वैकल्पिक संगठन UUID द्वारा फ़िल्टर। (string, optional)
  • get_publish_resign_report - प्रकाशन रेसाइन रिपोर्ट प्राप्त करें, वैकल्पिक रूप से दिनांक सीमा, ऐप नाम, संगठन और स्थिति द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • app_name: ऐप नाम से फ़िल्टर करें। (string, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • status: रेसाइन स्थिति से फ़िल्टर करें (0=प्रतीक्षा, 1=प्रोसेसिंग, 2=सफल, 3=विफल, 4=रद्द, 5=समय समाप्त)। (number, optional)
  • get_publish_status_report - प्रकाशन स्थिति रिपोर्ट प्राप्त करें, वैकल्पिक रूप से दिनांक सीमा, ऐप नाम, संगठन और स्थिति द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • app_name: ऐप नाम से फ़िल्टर करें। (string, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • status: प्रकाशन स्थिति से फ़िल्टर करें (जैसे 0=सफल, 1=विफल, 91=चल रहा है)। (number, optional)
  • get_signing_report - साइनिंग रिपोर्ट प्राप्त करें, वैकल्पिक रूप से दिनांक सीमा, संगठन, OS और बिल्ड स्थिति द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • os: OS ("ios" या "android") से फ़िल्टर करें। (string, optional)
    • build_status: बिल्ड स्थिति से फ़िल्टर करें (जैसे 0=सफल, 1=विफल, 91=चल रहा है)। (number, optional)
  • get_signing_activity_log - साइनिंग गतिविधि लॉग प्राप्त करें (जैसे प्रमाणपत्र/प्रावधान प्रोफ़ाइल/keystore समाप्ति सूचनाएँ), वैकल्पिक रूप से दिनांक सीमा और अन्य मापदंडों द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। यदि दोनों दिए गए हैं तो end_date से <= होना चाहिए। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • platform: प्लेटफ़ॉर्म से फ़िल्टर करें (जैसे "iOS", "Android")। (string, optional)
    • email: कार्य करने वाले उपयोगकर्ता के ईमेल से फ़िल्टर करें। (string, optional)
    • action: गतिविधि क्रिया कोड से फ़िल्टर करें (पूर्णांक; पूर्ण मैपिंग के लिए टूल स्रोत में SIGNING_ACTIVITY_ACTIONS देखें)। (number, optional)
  • get_publish_activity_log - प्रकाशन गतिविधि लॉग प्राप्त करें (re-sign, प्रकाशन प्रवाह घटनाएँ, आदि), वैकल्पिक रूप से दिनांक सीमा और अन्य मापदंडों द्वारा फ़िल्टर किया गया। पेजिनेटेड।

    • पहुँच स्तर: read
    • start_date: वैकल्पिक प्रारंभ दिनांक (YYYY-MM-DD)। यदि दोनों दिए गए हैं तो end_date से <= होना चाहिए। (string, optional)
    • end_date: वैकल्पिक समाप्ति दिनांक (YYYY-MM-DD)। (string, optional)
    • page: पेज नंबर (डिफ़ॉल्ट: 1)। (number, optional)
    • size: प्रति पेज आइटम (1-100, डिफ़ॉल्ट: 50)। (number, optional)
    • organization_id: संगठन UUID से फ़िल्टर करें। (string, optional)
    • platform: प्लेटफ़ॉर्म से फ़िल्टर करें (जैसे "iOS", "Android")। (string, optional)
    • email: कार्य करने वाले उपयोगकर्ता के ईमेल से फ़िल्टर करें। (string, optional)
    • profile_name: प्रकाशन प्रोफ़ाइल नाम से फ़िल्टर करें। (string, optional)
    • action: गतिविधि क्रिया कोड से फ़िल्टर करें (पूर्णांक; पूर्ण मैपिंग के लिए टूल स्रोत में PUBLISH_ACTIVITY_ACTIONS देखें)। (number, optional)

सर्वर चलाना (Running the server)

रिपॉजिटरी रूट से:

python -m src.server

या pip install -e . के बाद:

appcircle-mcp

सर्वर stdio (या आपके क्लाइंट के शुरू करने के तरीके के आधार पर SSE/HTTP) पर चलता है।

प्रतिक्रिया प्रारूप (Response format)

हर टूल एक मानक आवरण (standard envelope) लौटाता है:

  • सफलता: { "success": true, "data": <payload>, "meta": { ... } }
    data टूल परिणाम है; meta वैकल्पिक है (जैसे count, page, filters)।
  • त्रुटि: { "success": false, "error": { "tool", "type", "message", "details" } }
    सभी टूल के लिए समान आकार, ताकि क्लाइंट त्रुटियों को सुसंगत रूप से पार्स कर सकें।

पूर्ण विशिष्टता: docs/tool_contract.md

परीक्षण (Testing)

विकास निर्भरताओं के साथ इंस्टॉल करें:

pip install -e ".[dev]"

इकाई परीक्षण (डिफ़ॉल्ट)

एक मॉक किए गए API का उपयोग करें; कोई APPCIRCLE_ACCESS_TOKEN आवश्यक नहीं। डिफ़ॉल्ट pytest केवल इन्हें चलाता है (देखें pyproject.toml में testpaths):

pytest test/unit/ -v
  • एकल फ़ाइल: pytest test/unit/tools/build_module/test_get_build_profiles.py -v
  • कवरेज के साथ: pytest test/unit/ --cov=src --cov-report=term-missing

एकीकरण परीक्षण

वास्तविक Appcircle API को कॉल करें। वातावरण में APPCIRCLE_ACCESS_TOKEN सेट करें, फिर चलाएँ:

pytest test/integration/ -v
  • सभी एकीकरण परीक्षण: pytest test/integration/ -v
  • टूल द्वारा: pytest test/integration/build_module/ -v, pytest test/integration/report/ -v, आदि।
  • मार्कर द्वारा: pytest -m integration -v (जब रिपॉजिटरी रूट से चलाया जाता है; यदि इकाई और एकीकरण दोनों एकत्र किए जाते हैं तो केवल एकीकरण परीक्षण शामिल होते हैं)

यदि APPCIRCLE_ACCESS_TOKEN सेट नहीं है, तो एकीकरण परीक्षण छोड़ दिए जाते हैं (कोई विफलता नहीं)।

एकीकरण परीक्षणों के लिए वैकल्पिक env vars (जब डिस्कवरी विफल हो या परीक्षणों को वास्तविक ID चाहिए; उन परीक्षणों को छोड़ने के लिए हटाएँ):

चर (Variable)विवरण (Description)
APPCIRCLE_TEST_ORGANIZATION_IDसंगठन UUID। test_with_organization_id (एंटरप्राइज़ ऐप स्टोर ऐप उपयोग रिपोर्ट) द्वारा उपयोग किया जाता है।
APPCIRCLE_TEST_BRANCH_IDशाखा UUID। get_commits_by_branch और संबंधित परीक्षणों द्वारा उपयोग किया जाता है जब API से कोई शाखा खोजी नहीं जा सकती।
APPCIRCLE_TEST_COMMIT_IDकमिट UUID। get_commit_details परीक्षणों द्वारा उपयोग किया जाता है जब API से कोई कमिट खोजा नहीं जा सकता।
राइट/एक्शन इंटीग्रेशन टेस्ट (trigger_build, cancel_build, आदि) को integration_write के रूप में चिह्नित किया गया है और ये APPCIRCLE_ACCESS_TOKEN के ऊपर ऑप्ट-इन हैं — ये वास्तविक डेटा को बदलते हैं (वास्तविक बिल्ड ट्रिगर करते हैं, आदि), इसलिए ये कभी भी सिर्फ pytest test/integration/ -v से नहीं चलते। इन्हें सक्षम करने के लिए APPCIRCLE_RUN_WRITE_INTEGRATION_TESTS=true सेट करें (APPCIRCLE_ACCESS_TOKEN को समर्पित टेस्ट org पर इंगित करते हुए, प्रोडक्शन पर नहीं)।

सुरक्षा

यह प्रोजेक्ट pyproject.toml में सूचीबद्ध तृतीय-पक्ष ओपन-सोर्स पैकेजों पर निर्भर करता है। हालाँकि हम डिपेंडेंसी वर्जन रेंज को पिन करते हैं और क्रिप्टोग्राफ़िक हैश के साथ एक लॉकफ़ाइल (uv.lock) भेजते हैं, ये पैकेज स्वतंत्र रूप से बनाए रखे जाते हैं और "जैसे-हैं" प्रदान किए जाते हैं। Appcircle तृतीय-पक्ष डिपेंडेंसी की सुरक्षा या विश्वसनीयता के बारे में कोई गारंटी नहीं देता है।

हम उपयोग से पहले इंस्टॉल किए गए पैकेजों का ऑडिट करने की सलाह देते हैं:

uv run pip-audit