Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .doc-detective/tests/gitlab-connect.spec.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
{
"description": "Both documented tiles are present and each carries a Connect button. Tiles are located by their exact visible title -- the names the walkthrough uses -- and the Connect button is found within each tile's own container rather than by DOM order, so renaming a tile title or its button fails here. The dashboard is styled with build-hashed CSS-module classes, so matching is on visible text, not class names.",
"runBrowserScript": {
"script": "const tile = (title) => { const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === title); if (!label) return { title: 'missing', connect: 'n/a' }; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === 'Connect'); if (btn) break; node = node.parentElement; } return { title: 'present', connect: btn ? 'present' : 'missing' }; }; const g = tile('Connect GitLab'); const s = tile('Connect self-hosted GitLab'); return ['gitlabTile=' + g.title, 'gitlabConnect=' + g.connect, 'selfHostedTile=' + s.title, 'selfHostedConnect=' + s.connect].join(' ');",
"script": "const tile = (title, btnText) => { const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === title); if (!label) return { title: 'missing', connect: 'n/a' }; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === btnText); if (btn) break; node = node.parentElement; } return { title: 'present', connect: btn ? 'present' : 'missing' }; }; const g = tile('GitLab', 'Connect GitLab'); const s = tile('Self-hosted GitLab', 'Connect Self-hosted GitLab'); return ['gitlabTile=' + g.title, 'gitlabConnect=' + g.connect, 'selfHostedTile=' + s.title, 'selfHostedConnect=' + s.connect].join(' ');",
"output": "gitlabTile=present gitlabConnect=present selfHostedTile=present selfHostedConnect=present",
"timeout": 10000
}
Expand Down Expand Up @@ -141,9 +141,9 @@
"wait": 6000
},
{
"description": "Open the gitlab.com connect modal by clicking the Connect button inside the 'Connect GitLab' tile. This opens the modal; it does not submit the connection.",
"description": "Open the gitlab.com connect modal by clicking the Connect GitLab button inside the 'GitLab' tile. This opens the modal; it does not submit the connection.",
"runBrowserScript": {
"script": "const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === 'Connect GitLab'); if (!label) return 'tile=missing'; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === 'Connect'); if (btn) break; node = node.parentElement; } if (!btn) return 'connect=missing'; btn.click(); return 'connect=clicked';",
"script": "const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === 'GitLab'); if (!label) return 'tile=missing'; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === 'Connect GitLab'); if (btn) break; node = node.parentElement; } if (!btn) return 'connect=missing'; btn.click(); return 'connect=clicked';",
"output": "connect=clicked",
"timeout": 10000
}
Expand All @@ -169,9 +169,9 @@
"wait": 6000
},
{
"description": "Open the self-hosted connect modal by clicking the Connect button inside the 'Connect self-hosted GitLab' tile. This opens the modal; it does not submit the connection.",
"description": "Open the self-hosted connect modal by clicking the Connect Self-hosted GitLab button inside the 'Self-hosted GitLab' tile. This opens the modal; it does not submit the connection.",
"runBrowserScript": {
"script": "const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === 'Connect self-hosted GitLab'); if (!label) return 'tile=missing'; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === 'Connect'); if (btn) break; node = node.parentElement; } if (!btn) return 'connect=missing'; btn.click(); return 'connect=clicked';",
"script": "const label = Array.from(document.querySelectorAll('h1,h2,h3,h4,h5,h6,div,span,p')).find((n) => n.children.length === 0 && n.textContent.trim() === 'Self-hosted GitLab'); if (!label) return 'tile=missing'; let node = label; let btn = null; for (let i = 0; i < 6 && node; i++) { btn = Array.from(node.querySelectorAll('button')).find((b) => b.textContent.trim() === 'Connect Self-hosted GitLab'); if (btn) break; node = node.parentElement; } if (!btn) return 'connect=missing'; btn.click(); return 'connect=clicked';",
"output": "connect=clicked",
"timeout": 10000
}
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/docs/reference/integrations/gitlab.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Setup has two parts: create a group access token in GitLab, then connect it in P

2. **Open the [Integrations](https://app.gopromptless.ai/integrations) page** in the Promptless dashboard.

3. **Start the GitLab connection.** For a gitlab.com group, find the **Connect GitLab** tile and click **Connect**. For a self-hosted instance, use the **Connect self-hosted GitLab** tile instead and enter your **Instance hostname** — just the host, no `https://` and no path (for example, `gitlab.acme.com`).
3. **Start the GitLab connection.** For a gitlab.com group, find the **GitLab** tile and click **Connect GitLab**. For a self-hosted instance, use the **Self-hosted GitLab** tile instead, click **Connect Self-hosted GitLab**, and enter your **Instance hostname** — just the host, no `https://` and no path (for example, `gitlab.acme.com`).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open source PR #4667 renames the gitlab.com connect-tile entry in promptless-dashboard/src/components/IntegrationsList.tsx from name 'Connect GitLab' to 'GitLab'. renderIntegrationSection sets the tile title to name and, absent an explicit connectLabel (none is passed for this entry), the connect button to Connect ${name}, so post-merge the tile is titled "GitLab" and its button reads "Connect GitLab", matching this doc line. Citation reflects the pending (not yet merged) state the doc intentionally documents ahead of merge.

Source: https://github.com/Promptless/promptless/pull/4667/files

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open source PR #4667 renames the self-hosted connect-tile entry in promptless-dashboard/src/components/IntegrationsList.tsx from name 'Connect self-hosted GitLab' to 'Self-hosted GitLab'. renderIntegrationSection sets the tile title to name and, absent an explicit connectLabel (none is passed for this entry), the connect button to Connect ${name}, so post-merge the tile is titled "Self-hosted GitLab" and its button reads "Connect Self-hosted GitLab" (capital S), matching this doc line. Citation reflects the pending (not yet merged) state the doc intentionally documents ahead of merge.

Source: https://github.com/Promptless/promptless/pull/4667/files


4. **Paste the token** into the **Group Access Token** field and click **Connect**.
</Steps>
Expand Down
Loading