Skip to content

Commit 54f68b8

Browse files
deerskindollkim-tsao04kashZaperexjmagak
authored
RHIDP-8196: Events Module configuration for GitHub (#1461)
* RHIDP-8196 * RHIDP-8196 * RHIDP-8196 * RHIDP-8196 * RHIDP-8196 * RHIDP-8196 * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * feedback * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * feedback * Update assemblies/assembly-configuring-rhdh-events-module.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> * feedback * feedback * dev preview * feedback * feedback * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Frank Kong <50030060+Zaperex@users.noreply.github.com> * RHIDP-7912 * RHIDP-7912 * RHIDP-7912 * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * Update modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com> * final edit --------- Co-authored-by: Kim Tsao <84398375+kim-tsao@users.noreply.github.com> Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com> Co-authored-by: Frank Kong <50030060+Zaperex@users.noreply.github.com> Co-authored-by: Judith Magak <124673476+jmagak@users.noreply.github.com>
1 parent f63aac6 commit 54f68b8

File tree

3 files changed

+108
-0
lines changed

3 files changed

+108
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
3+
[id="configuring-rhdh-events-module"]
4+
5+
= Configuring {product} Events Module
6+
7+
Use the Events Module together with scheduled updates to make sure your GitHub user or catalog entities are updated whenever changes occur in the external system.
8+
This is a Developer Preview feature.
9+
10+
[IMPORTANT]
11+
====
12+
Developer Preview features are not supported by Red Hat in any way and are not functionally complete or production-ready. Do not use Developer Preview features for production or business-critical workloads. Developer Preview features provide early access to functionality in advance of possible inclusion in a Red Hat product offering. Customers can use these features to test functionality and provide feedback during the development process. Developer Preview features might not have any documentation, are subject to change or removal at any time, and have received limited testing. Red Hat might provide ways to submit feedback on Developer Preview features without an associated SLA.
13+
14+
For more information about the support scope of Red Hat Developer Preview features, see link:https://access.redhat.com/support/offerings/devpreview/[Developer Preview Support Scope].
15+
====
16+
17+
include::modules/dynamic-plugins/proc-configuring-events-module-for-github.adoc[leveloffset=+1]

assemblies/dynamic-plugins/assembly-configuring-rhdh-plugins.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,8 @@ include::../assembly-using-servicenow.adoc[leveloffset=+1]
3434
// Kubernetes Custom Actions
3535
include::../assembly-using-kubernetes-custom-actions.adoc[leveloffset=+1]
3636

37+
// Events Module
38+
include::../assembly-configuring-rhdh-events-module.adoc[leveloffset=+1]
39+
3740
// Overriding Core Backend Service Configuration
3841
include::../modules/dynamic-plugins/proc-overriding-core-backend-services.adoc[leveloffset=+1]
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
:_mod-docs-content-type: PROCEDURE
2+
3+
[id="proc-configuring-events-module-for-github"]
4+
5+
= Configuring Events Module for GitHub
6+
7+
Learn how to configure Events Module for use with the {product-very-short} GitHub Discovery feature and GitHub organization data.
8+
This is a Developer Preview feature.
9+
10+
[IMPORTANT]
11+
====
12+
Developer Preview features are not supported by Red Hat in any way and are not functionally complete or production-ready. Do not use Developer Preview features for production or business-critical workloads. Developer Preview features provide early access to functionality in advance of possible inclusion in a Red Hat product offering. Customers can use these features to test functionality and provide feedback during the development process. Developer Preview features might not have any documentation, are subject to change or removal at any time, and have received limited testing. Red Hat might provide ways to submit feedback on Developer Preview features without an associated SLA.
13+
14+
For more information about the support scope of Red Hat Developer Preview features, see link:https://access.redhat.com/support/offerings/devpreview/[Developer Preview Support Scope].
15+
====
16+
17+
.Prerequisites
18+
* You have added your GitHub integration credentials in the `{my-app-config-file}` file.
19+
* You have defined the `schedule.frequency` in the `{my-app-config-file}` file as longer time period, such as 24 hours.
20+
* For GitHub Discovery only: You have enabled {product-docs-link}/html-single/integrating_red_hat_developer_hub_with_github/index#enabling-github-repository-discovery[GitHub Discovery].
21+
* For GitHub Organizational Data only: You have enabled {product-docs-link}/html-single/authentication_in_red_hat_developer_hub/index#enabling-user-authentication-with-github[Github Authentication with user ingestion].
22+
23+
.Procedure
24+
. Add the GitHub Events Module to your `dynamic-plugins.yaml` configuration file as follows:
25+
+
26+
[source,yaml]
27+
----
28+
data:
29+
dynamic-plugins.yaml: |
30+
includes:
31+
- dynamic-plugins.default.yaml
32+
plugins:
33+
- package: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-plugin-events-backend-module-github:bs_1.42.5__0.4.3!backstage-plugin-events-backend-module-github
34+
disabled: false
35+
----
36+
. To create HTTP endpoints to receive events for the `github`, add the following to your `{my-app-config-file}` file:
37+
+
38+
[source,yaml]
39+
----
40+
events:
41+
http:
42+
topics:
43+
- github
44+
modules:
45+
github:
46+
webhookSecret: ${GITHUB_WEBHOOK_SECRET}
47+
----
48+
+
49+
[IMPORTANT]
50+
====
51+
Secure your workflow by adding a webhook secret token to link:https://docs.github.com/en/webhooks/using-webhooks/validating-webhook-deliveries[validate webhook deliveries].
52+
====
53+
. Create a link:https://docs.github.com/en/webhooks/using-webhooks/creating-webhooks[GitHub webhook] with the following specifications:
54+
** *For Github Discovery Events*: push, repository
55+
** *For Github Organizational Data Events*: organization, team and membership
56+
** *Content Type*: application/json
57+
** *Payload URL*: https://<your_instance_name>/api/events/http/github
58+
+
59+
[NOTE]
60+
====
61+
*Payload URL* is the URL exposed after configuring the HTTP endpoint.
62+
====
63+
64+
.Verification
65+
* Check the log for an entry that confirms that http endpoint was set up successfully to receive events from the GitHub webhook.
66+
+
67+
Example of a log of successfully set up http endpoint::
68+
+
69+
[source,code]
70+
----
71+
{"level":"\u001b[32minfo\u001b[39m","message":"Registered /api/events/http/github to receive events","plugin":"events","service":"backstage","timestamp":"2025-11-03 02:19:12"}
72+
----
73+
* For GitHub Discovery only:
74+
** Trigger a GitHub push event by adding,
75+
modifying or deleting the `catalog-info.yaml` file in the repository where you set up your webhook.
76+
A record of this event should appear in the pod logs of your {product-very-short} instance.
77+
+
78+
Example of a log with changes to `catalog-info.yaml` file::
79+
+
80+
[source,code]
81+
----
82+
{"level":"\u001b[32minfo\u001b[39m","message":"Processed Github push event: added 0 - removed 0 - modified 1","plugin":"catalog","service":"backstage","span_id":"47534b96c4afc654","target":"github-provider:providerId","timestamp":"2025-06-15 21:33:14","trace_flags":"01","trace_id":"ecc782deb86aed2027da0ae6b1999e5c"}
83+
----
84+
85+
* For GitHub Organizational Data only:
86+
** Newly added users and teams appear in the {product-very-short} catalog.
87+
88+

0 commit comments

Comments
 (0)