|
| 1 | +.. _integrations_introduction: |
| 2 | + |
| 3 | +Integrations overview |
| 4 | +===================== |
| 5 | + |
| 6 | +DejaCode offers several ways to connect with other tools and services, enabling |
| 7 | +**automation**, **synchronization**, and **streamlined workflows**. Depending on your |
| 8 | +needs, you can choose from :ref:`platform_specific_integrations`, the |
| 9 | +:ref:`rest_api_integration`, or the :ref:`webhook_integration`. |
| 10 | + |
| 11 | +.. _platform_specific_integrations: |
| 12 | + |
| 13 | +Platform-specific integrations |
| 14 | +------------------------------ |
| 15 | + |
| 16 | +DejaCode provides built-in support for the following platforms: |
| 17 | + |
| 18 | +- :ref:`integrations_github` |
| 19 | +- :ref:`integrations_gitlab` |
| 20 | +- :ref:`integrations_jira` |
| 21 | +- :ref:`integrations_sourcehut` |
| 22 | +- :ref:`integrations_forgejo` |
| 23 | + |
| 24 | +These integrations are designed to work **seamlessly** with each platform's features. |
| 25 | +They typically allow **requests**, **comments**, and **status changes** in DejaCode to |
| 26 | +be linked or synchronized with corresponding items in the external platform, such as |
| 27 | +**issues** or **tickets**. |
| 28 | + |
| 29 | +Platform-specific integrations are the best choice when: |
| 30 | + |
| 31 | +- Your team already uses **one of the supported platforms** |
| 32 | +- You want **minimal setup**, with features mapped directly between systems |
| 33 | +- You prefer a **native, optimized experience** rather than building custom logic |
| 34 | + |
| 35 | +.. _rest_api_integration: |
| 36 | + |
| 37 | +REST API |
| 38 | +-------- |
| 39 | + |
| 40 | +The :ref:`integrations_rest_api` provides **full programmatic access** to most features |
| 41 | +of the platform. This makes it possible to integrate DejaCode with **any script, |
| 42 | +application, or automation system**, regardless of the programming language or |
| 43 | +framework. |
| 44 | + |
| 45 | +With the REST API, you can: |
| 46 | + |
| 47 | +- **Create, update, and retrieve** requests and related objects |
| 48 | +- **Automate** administrative tasks |
| 49 | +- Pull data into **reporting** or **analytics tools** |
| 50 | +- Build **custom user interfaces** on top of DejaCode data |
| 51 | + |
| 52 | +This approach offers **maximum flexibility**, but requires you to write the logic for |
| 53 | +**handling events**, **processing data**, and **authenticating** with the API. |
| 54 | + |
| 55 | +.. _webhook_integration: |
| 56 | + |
| 57 | +Webhook integration |
| 58 | +------------------- |
| 59 | + |
| 60 | +:ref:`integrations_webhook` allow DejaCode to **push** information to an **external |
| 61 | +system** the moment specific events occur, instead of requiring you to **poll** the |
| 62 | +API. |
| 63 | + |
| 64 | +When a configured event happens (such as a **request** being created or updated), |
| 65 | +DejaCode sends an HTTP ``POST`` request with a **JSON payload** to your **target URL**. |
| 66 | +You can then process this payload to **trigger automation**, **update another system**, |
| 67 | +or **log the change**. |
| 68 | + |
| 69 | +Webhooks can be configured for a **variety of events**, and the payload can be |
| 70 | +extended with **custom fields** and **headers**. They are especially powerful when |
| 71 | +combined with the REST API — **webhooks deliver the trigger**, and **API calls perform |
| 72 | +follow-up actions**. |
| 73 | + |
| 74 | +Generic integrations |
| 75 | +-------------------- |
| 76 | + |
| 77 | +While platform-specific integrations focus on **GitHub**, **GitLab**, **Jira**, |
| 78 | +**SourceHut**, and **Forgejo**, both the :ref:`rest_api_integration` and |
| 79 | +:ref:`webhook_integration` provide the tools to connect DejaCode to **virtually any |
| 80 | +application or service**. |
| 81 | + |
| 82 | +Examples include: |
| 83 | + |
| 84 | +- Pushing updates to a **Slack** channel or **Microsoft Teams** |
| 85 | +- Updating **internal dashboards** |
| 86 | +- Triggering **security scans** or **CI/CD jobs** |
| 87 | +- Synchronizing data with **proprietary in-house systems** |
| 88 | + |
| 89 | +Choosing the right approach |
| 90 | +--------------------------- |
| 91 | + |
| 92 | +- Use a :ref:`platform_specific_integrations` integration if your workflow centers on |
| 93 | + **one of the supported platforms** and you want the **easiest setup**. |
| 94 | +- Use the :ref:`rest_api_integration` for **full control** and **flexibility** over |
| 95 | + how DejaCode interacts with other systems. |
| 96 | +- Use :ref:`webhook_integration` to receive **real-time notifications** and act |
| 97 | + immediately on events. |
| 98 | +- Combine :ref:`webhook_integration` with the :ref:`rest_api_integration` for |
| 99 | + **event-driven automation** that can **react** and then **fetch or update** related |
| 100 | + data as needed. |
0 commit comments