Integrations
The external services GVenta Kanban Board works with: Bitbucket Cloud, GitHub, SendGrid and private object storage, and what happens when one is unreachable.
Documented from GVenta Kanban Board version 2.1.15.
GVenta Kanban Board talks to a small number of external services: a Git provider for linking projects to repositories, SendGrid for email, and private object storage for files. Each one is designed so that a failure degrades a feature rather than breaking a page.
Services
| Service | Role | Behavior on failure |
|---|---|---|
| Bitbucket Cloud | Repository listing and metadata for project linking. Reads the full workspace repository list, 100 repositories per page. Results are cached. | Silent. The repository link on the board is simply omitted, and the repository dropdown on the project form reports the error inline. |
| GitHub | Alternative repository provider. Tries the organization endpoint first and falls back to the user endpoint when the organization is not found, so both organization and personal accounts work. Results are sorted by name. | Silent, the same as Bitbucket. |
| SendGrid | All outbound email, through the v3 Mail Send API with a 10-second timeout. | Logged, never surfaced to the user, and never breaks the request that triggered the email. |
| Private object storage | S3-compatible private storage for attachments, avatars and project images. | Upload errors are reported to the user. The Resources page degrades gracefully and shows the error instead of failing. |
Git providers
Linking a project to a repository gives the board header a live repository link and lets the project form offer a dropdown of real repositories instead of a free-text field.
Choosing a provider
An administrator picks one provider for the whole instance on the Settings page:
- Bitbucket — workspace, email and app password.
- GitHub — organization or username, and a personal access token.
- Manual — no integration. The repository field on projects becomes free text accepting a slug or a full repository URL.
Provider-specific fields show and hide live as the selection changes.
How credentials are handled
- Credentials are stored encrypted at rest with AES-256-CBC and a fresh random initialization vector per value; see File handling and security.
- Token fields render as password inputs and never echo the stored value back to the browser.
- Once a token is saved the field shows “Leave blank to keep current token”. Submitting the field empty preserves the existing token rather than wiping it, so you can change the workspace name without re-entering the secret.
- If no credentials have been saved in Settings, the instance falls back to any provider credentials supplied when it was provisioned.
What you see when the provider is down
- On the project board, the repository link is fetched live and silently omitted if the provider is unreachable. The board itself always loads.
- On the create and edit project forms, the repository dropdown is populated asynchronously with loading, empty and error states, so an outage shows an inline error rather than a broken page.
Why it matters: A provider outage costs you a link in a header, not access to your board.
Every notification email, the story-updated, story-assigned and new-comment emails and the 08:00 daily digest, goes out through SendGrid. Delivery problems are written to the error log and never surface to the person whose action triggered the email. See Email notifications.
Object storage
Attachments, avatars and project images are written to private object storage under keys prefixed with your instance’s tenant ID, with a private ACL that is never public. Files are streamed back through your instance’s own domain; the browser never touches the storage service directly. If an upload fails, the error is shown inline where you uploaded. The full pipeline is described in File handling and security.
The Resources page reports total storage consumption for your instance, broken down by attachments, avatars and project images. If storage credentials are missing or the service cannot be reached, the page shows the error and continues to render.
Your own integrations
Everything the interface can do is available through the REST API, so you can connect the board to CI pipelines, client portals, internal tools and AI agents. See API getting started and the endpoint reference.
Related pages
- Administration
- Dashboard and projects — the repository selector in practice.