On the Finish GitHub setup page, click Add lark.yml for a repo. GitHub opens with the workflow file prefilled — review and commit it in your browser.Each repo also needs an ANTHROPIC_API_KEY secret under Settings → Secrets and variables → Actions. Lark uses your key, so token spend goes to your Anthropic account. You can add the secret before or after committing the workflow file; the action skips with a friendly comment until the secret is set.Repos show as Connected automatically after the first pull request triggers the workflow.
On any connected repository, a user with write access (owner, member, or collaborator) can comment:
/investigate
Lark reads the issue title, body, labels, and comment thread, runs an investigation, and posts the report back as a GitHub comment. While the investigation runs, Lark adds a lark:investigating label; when it finishes, that label is replaced with lark:investigated or lark:investigation-failed.
/investigate works on issues only, not pull requests. Comments from first-time or untrusted contributors are ignored.
If /investigate is posted again while an investigation is already running for that issue, Lark skips the duplicate.
When .github/workflows/lark.yml is present, Lark runs on pull requests that are opened or reopened. It analyzes the diff and can propose new end-to-end tests for the changes.Pull requests from forks are skipped — forked workflows cannot mint OIDC tokens with Lark’s trusted audience.
Click Configure on the GitHub card to review connected repos or open Manage repos to add lark.yml to more repositories.Click Disconnect to remove the Lark GitHub App installation from your account. Lark stops responding to /investigate and test proposals stop running; existing GitHub comments and workflow files in your repos are left untouched.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lark Documentation","colors":{"primary":"#3f47e0","light":"#7c86ff","dark":"#3f47e0"},"logo":{"light":"https://mintcdn.com/lark/JTtfRO5vwOh-F3os/logo/lark-logo.svg?fit=max\u0026auto=format\u0026n=JTtfRO5vwOh-F3os\u0026q=85\u0026s=cc7d29b5caefe1dfeddfb190bf70ac3c","dark":"https://mintcdn.com/lark/JTtfRO5vwOh-F3os/logo/lark-logo.svg?fit=max\u0026auto=format\u0026n=JTtfRO5vwOh-F3os\u0026q=85\u0026s=cc7d29b5caefe1dfeddfb190bf70ac3c"},"favicon":"https://mintcdn.com/lark/JTtfRO5vwOh-F3os/favicon.svg?fit=max\u0026auto=format\u0026n=JTtfRO5vwOh-F3os\u0026q=85\u0026s=94e697a8f99a604bd80eb4b6e3451462","navbar":{"links":[{"href":"mailto:team@getlark.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.getlark.ai"}},"footer":{"socials":{"x":"https://x.com/getlark","linkedin":"https://www.linkedin.com/company/lark-ai","slack":"https://join.slack.com/t/larkcommunity/shared_invite/zt-3wqmfghs7-Rjbd74jt_bLac534lFwIQw"}},"integrations":{"posthog":{"apiKey":"phc_vipGo9fzWFWAD5P5RgeUi5vJL242LO6tBTG2TKkyYLu","apiHost":"https://ph.getlark.ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lark","hasAudioNarration":false,"actualSubdomain":"lark","customDomains":["docs.getlark.ai"],"gitSource":{"type":"github","owner":"getlark","repo":"core","deployBranch":"main","contentDirectory":"public-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a2780a9e2122676d3cbfd24","collectionId":"a6e6e818-ed43-4bd1-82bd-17b769619aca","schemaVersion":"v3"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae93f8c6f90540ab4c0ca30:success","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"Guides","count":4},{"language":"default","tag":"Integrations","count":4},{"language":"default","tag":"Concepts","count":3},{"language":"default","tag":"Getting started","count":2},{"language":"default","tag":"Agents","count":2},{"language":"default","tag":"Beta features","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"github","slug":"/github","pageMetadata":{"title":"GitHub integration","description":"Investigate GitHub issues and propose end-to-end tests on pull requests.","href":"/github"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Investigate GitHub issues and propose end-to-end tests on pull requests.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Connect Lark to GitHub to do two things from your repos:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Investigate issues`}),` — Comment `,_jsx(_components.code,{children:`/investigate`}),` on a GitHub issue and Lark posts a structured investigation report back on the thread.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Propose tests on PRs`}),` — Add `,_jsx(_components.code,{children:`.github/workflows/lark.yml`}),` so Lark can propose new end-to-end tests when pull requests open.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`setup`,children:`Setup`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Settings → Integrations`}),` in the `,_jsx(_components.a,{href:`https://dashboard.getlark.ai/settings/integrations`,children:`dashboard`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Connect`}),` on the GitHub card.`]}),`\n`,_jsx(_components.li,{children:`Install the Lark GitHub App and choose which repositories Lark can access.`}),`\n`,_jsxs(_components.li,{children:[`After install, open `,_jsx(_components.strong,{children:`Configure → Manage repos`}),` to add `,_jsx(_components.code,{children:`.github/workflows/lark.yml`}),` to each repo you want test proposals on.`]}),`\n`]}),`\n`,_jsxs(Heading,{level:`3`,id:`add-lark-yml-to-a-repo`,children:[`Add `,_jsx(_components.code,{children:`lark.yml`}),` to a repo`]}),`\n`,_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Finish GitHub setup`}),` page, click `,_jsx(_components.strong,{children:`Add lark.yml`}),` for a repo. GitHub opens with the workflow file prefilled — review and commit it in your browser.`]}),`\n`,_jsxs(_components.p,{children:[`Each repo also needs an `,_jsx(_components.code,{children:`ANTHROPIC_API_KEY`}),` secret under `,_jsx(_components.strong,{children:`Settings → Secrets and variables → Actions`}),`. Lark uses your key, so token spend goes to your Anthropic account. You can add the secret before or after committing the workflow file; the action skips with a friendly comment until the secret is set.`]}),`\n`,_jsxs(_components.p,{children:[`Repos show as `,_jsx(_components.strong,{children:`Connected`}),` automatically after the first pull request triggers the workflow.`]}),`\n`,_jsx(Heading,{level:`2`,id:`investigate-issues`,children:`Investigate issues`}),`\n`,_jsx(_components.p,{children:`On any connected repository, a user with write access (owner, member, or collaborator) can comment:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`/investigate`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Lark reads the issue title, body, labels, and comment thread, runs an investigation, and posts the report back as a GitHub comment. While the investigation runs, Lark adds a `,_jsx(_components.code,{children:`lark:investigating`}),` label; when it finishes, that label is replaced with `,_jsx(_components.code,{children:`lark:investigated`}),` or `,_jsx(_components.code,{children:`lark:investigation-failed`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/investigate`}),` works on issues only, not pull requests. Comments from first-time or untrusted contributors are ignored.`]})}),`\n`,_jsxs(_components.p,{children:[`If `,_jsx(_components.code,{children:`/investigate`}),` is posted again while an investigation is already running for that issue, Lark skips the duplicate.`]}),`\n`,_jsx(Heading,{level:`2`,id:`propose-tests-on-pull-requests`,children:`Propose tests on pull requests`}),`\n`,_jsxs(_components.p,{children:[`When `,_jsx(_components.code,{children:`.github/workflows/lark.yml`}),` is present, Lark runs on pull requests that are `,_jsx(_components.strong,{children:`opened`}),` or `,_jsx(_components.strong,{children:`reopened`}),`. It analyzes the diff and can propose new end-to-end tests for the changes.`]}),`\n`,_jsx(_components.p,{children:`Pull requests from forks are skipped — forked workflows cannot mint OIDC tokens with Lark’s trusted audience.`}),`\n`,_jsx(Heading,{level:`2`,id:`reconfiguring-or-disconnecting`,children:`Reconfiguring or disconnecting`}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Configure`}),` on the GitHub card to review connected repos or open `,_jsx(_components.strong,{children:`Manage repos`}),` to add `,_jsx(_components.code,{children:`lark.yml`}),` to more repositories.`]}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Disconnect`}),` to remove the Lark GitHub App installation from your account. Lark stops responding to `,_jsx(_components.code,{children:`/investigate`}),` and test proposals stop running; existing GitHub comments and workflow files in your repos are left untouched.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"GitHub integration","description":"Investigate GitHub issues and propose end-to-end tests on pull requests.","href":"/github"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Setup","slug":"setup","depth":2,"children":[{"title":"Add lark.yml to a repo","slug":"add-lark-yml-to-a-repo","depth":3,"children":[]}]},{"title":"Investigate issues","slug":"investigate-issues","depth":2,"children":[]},{"title":"Propose tests on pull requests","slug":"propose-tests-on-pull-requests","depth":2,"children":[]},{"title":"Reconfiguring or disconnecting","slug":"reconfiguring-or-disconnecting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"lark","siteName":"Lark Documentation","title":"GitHub integration - Lark Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-30T20:29:00.360Z","originalFileLocation":"github.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Investigate GitHub issues and propose end-to-end tests on pull requests.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Lark Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"GitHub integration - Lark Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Investigate GitHub issues and propose end-to-end tests on pull requests.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lark Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getlark.ai/github\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lark.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=GitHub+integration\u0026amp;description=Investigate+GitHub+issues+and+propose+end-to-end+tests+on+pull+requests.\u0026amp;theme=d0c06bb0101abf873a98066a\u0026amp;signature=0f66dba896077f07ffd71495fdd9d827b05279c036d41b6f1e0de57a90ebc56b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"GitHub integration - Lark Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Investigate GitHub issues and propose end-to-end tests on pull requests.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lark.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=GitHub+integration\u0026amp;description=Investigate+GitHub+issues+and+propose+end-to-end+tests+on+pull+requests.\u0026amp;theme=d0c06bb0101abf873a98066a\u0026amp;signature=0f66dba896077f07ffd71495fdd9d827b05279c036d41b6f1e0de57a90ebc56b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lark/joPhL_niTVvLUD5A/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lark Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3f47e0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getlark.ai/github\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/github.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getlark.ai/#organization\",\"name\":\"Lark Documentation\",\"url\":\"https://docs.getlark.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lark/JTtfRO5vwOh-F3os/logo/lark-logo.svg?fit=max\u0026auto=format\u0026n=JTtfRO5vwOh-F3os\u0026q=85\u0026s=cc7d29b5caefe1dfeddfb190bf70ac3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getlark.ai#website\",\"name\":\"Lark Documentation\",\"url\":\"https://docs.getlark.ai\",\"publisher\":{\"@id\":\"https://docs.getlark.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getlark.ai/github#webpage\",\"url\":\"https://docs.getlark.ai/github\",\"name\":\"GitHub integration\",\"description\":\"Investigate GitHub issues and propose end-to-end tests on pull requests.\",\"dateModified\":\"2026-05-30T20:29:00.360Z\",\"isPartOf\":{\"@id\":\"https://docs.getlark.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getlark.ai/github#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getlark.ai/github#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.getlark.ai/slack\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub integration\",\"item\":\"https://docs.getlark.ai/github\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getlark.ai/github#article\",\"headline\":\"GitHub integration\",\"name\":\"GitHub integration\",\"description\":\"Investigate GitHub issues and propose end-to-end tests on pull requests.\",\"url\":\"https://docs.getlark.ai/github\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getlark.ai/github#webpage\"},\"dateModified\":\"2026-05-30T20:29:00.360Z\",\"publisher\":{\"@id\":\"https://docs.getlark.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getlark.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lark Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lark Documentation","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart","href":"/quickstart"}]},{"group":"Agents","pages":[{"title":"MCP","icon":"plug","href":"/mcp-quickstart"},{"title":"Skills","icon":"robot","href":"/skills"}]},{"group":"Guides","pages":[{"title":"CI integration","href":"/ci"},{"title":"Scheduled runs","href":"/scheduling"},{"title":"Managing secrets","href":"/secrets"},{"title":"CLI","href":"/cli"}]},{"group":"Concepts","pages":[{"title":"Workflow lifecycle","href":"/workflow-lifecycle"},{"title":"Executions","href":"/executions"},{"title":"Repairs and regeneration","href":"/repairs-and-regeneration"}]},{"group":"Integrations","pages":[{"title":"Slack integration","href":"/slack"},{"title":"Linear integration","description":"Create Linear issues when a workflow uncovers a real product regression.","href":"/linear"},{"title":"GitHub integration","href":"/github"},{"title":"Webhooks","description":"Receive HTTP callbacks when workflow events happen in Lark.","href":"/webhooks"}]},{"group":"Beta features","pages":[{"title":"QA reports","href":"/qa-reports"},{"title":"Preview deployments","href":"/preview-deployments"}]}]},"basePath":"","title":"GitHub integration - Lark Documentation","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":[],"chunks":[]}