Files
zulip/web/templates/settings/generate_integration_url_modal.hbs
Aditya Kumar Kasaudhan d1ff871523 webhooks: Support filtering GitHub activity from private repositories.
Currently, the GitHub webhook sends activity from both public and private
repositories, which could lead to unintended disclosure of sensitive
information from private repositories.

This commit introduces a ignore_private_repositories parameter to the
webhook URL. When set to true, the webhook ignore processing activity from
private repositories, ensuring that such activities are not posted to
Zulip streams. By default, if the parameter is omitted or set to false,
activities from both public and private repositories are processed
normally. This provides users with the flexibility to control the
visibility of private repository activities without altering the default
behavior.

More importantly, this introduces a cleaner mechanism for individual
incoming webhooks to declare support for settings not common to all
webhook integrations.

Fixes #31638.
2024-10-31 10:40:28 -07:00

53 lines
2.2 KiB
Handlebars

<div class="input-group">
<div class="integration-url-name-wrapper integration-url-parameter">
{{> ../dropdown_widget_with_label
widget_name="integration-name"
label=(t "Integration")}}
</div>
</div>
<div class="input-group">
<div class="integration-url-stream-wrapper integration-url-parameter">
{{> ../dropdown_widget_with_label
widget_name="integration-url-stream"
label=(t "Where to send notifications")}}
</div>
</div>
<div class="input-group control-label-disabled">
<label class="checkbox">
<input type="checkbox" id="integration-url-override-topic" class="integration-url-parameter" disabled/>
<span class="rendered-checkbox"></span>
</label>
<label class="inline" for="integration-url-override-topic">
{{t "Send all notifications to a single topic"}}
</label>
</div>
<div class="input-group hide">
<label for="integration-url-topic-input" class="modal-label-field">{{t "Topic"}}</label>
<input type="text" id="integration-url-topic-input" class="modal_text_input integration-url-parameter" maxlength="{{ max_topic_length }}" />
</div>
<div id="integration-url-config-options-container">
<!-- Dynamic Config Options will be rendered here -->
</div>
<div id="integration-events-parameter" class="input-group hide">
<label class="checkbox">
<input type="checkbox" id="show-integration-events"/>
<span class="rendered-checkbox"></span>
</label>
<label class="inline" for="show-integration-events">
{{t "Filter events that will trigger notifications?"}}
</label>
</div>
<div class="input-group hide" id="integrations-event-container">
<label for="integrations-event-options">{{t "Events to include:"}}</label>
<div class="integration-all-events-buttons">
<button class="button rounded" id="add-all-integration-events">{{t "Check all"}}</button>
<button class="button rounded" id="remove-all-integration-events">{{t "Uncheck all"}}</button>
</div>
<div id="integrations-event-options"></div>
</div>
<hr />
<p class="integration-url-header">{{t "URL for your integration"}}</p>
<div class="integration-url">
{{default_url_message}}
</div>