Skip to content

Commit 71e6157

Browse files
committed
Add Integrations overview chapter in documentation #345
Signed-off-by: tdruez <tdruez@nexb.com>
1 parent 993fa9e commit 71e6157

2 files changed

Lines changed: 101 additions & 0 deletions

File tree

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Welcome to the very start of your DejaCode journey!
4848
:maxdepth: 1
4949
:caption: Integrations
5050

51+
integrations-introduction
5152
integrations-forgejo
5253
integrations-github
5354
integrations-gitlab

docs/integrations-introduction.rst

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
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

Comments
 (0)