Skip to content

WIP: INTEROP-8979: Wire Slack webhook into firewatch-report-issues step#78426

Closed
amp-rh wants to merge 11 commits into
openshift:mainfrom
amp-rh:interop-8979/firewatch-slack-webhook-v3
Closed

WIP: INTEROP-8979: Wire Slack webhook into firewatch-report-issues step#78426
amp-rh wants to merge 11 commits into
openshift:mainfrom
amp-rh:interop-8979/firewatch-slack-webhook-v3

Conversation

@amp-rh
Copy link
Copy Markdown
Contributor

@amp-rh amp-rh commented Apr 27, 2026

Summary

  • Mount firewatch-slack-notify-webhook-url secret at /tmp/secrets/slack in the firewatch-report-issues step
  • Read /tmp/secrets/slack/slack_rule_notification_webhook_url and export as $SLACK_WEBHOOK_URL before running firewatch report
  • Add SLACK_WEBHOOK_URL env var declaration to the step ref
  • Add minimal test config (RedHatQE-firewatch-main__slack-webhook-test.yaml) to verify end-to-end webhook delivery

Dependencies

Requires firewatch PR: RedHatQE/firewatch#274

Prerequisites

  • Create firewatch-slack-notify-webhook-url secret in test-credentials namespace with key slack_rule_notification_webhook_url

Test plan

  • Rehearse slack-webhook-test job from this PR
  • Verify firewatch posts a Slack notification to the configured webhook
  • Confirm no impact to existing firewatch-report-issues consumers (webhook is opt-in via secret)

Supersedes: #78342
Relates: https://issues.redhat.com/browse/INTEROP-8979

Summary by CodeRabbit

  • Chores
    • Integrated Slack webhook notifications into the Firewatch issue reporting system, enabling automatic posting of test failures and duplicate detection alerts to Slack channels.
    • Extended CI infrastructure configuration to support Slack notification delivery for improved test result tracking and visibility.
    • Configured secure credential management for webhook authentication.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 27, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented Apr 27, 2026

@amp-rh: This pull request references INTEROP-8979 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Mount firewatch-slack-notify-webhook-url secret at /tmp/secrets/slack in the firewatch-report-issues step
  • Read /tmp/secrets/slack/slack_rule_notification_webhook_url and export as $SLACK_WEBHOOK_URL before running firewatch report
  • Add SLACK_WEBHOOK_URL env var declaration to the step ref
  • Add minimal test config (RedHatQE-firewatch-main__slack-webhook-test.yaml) to verify end-to-end webhook delivery

Dependencies

Requires firewatch PR: RedHatQE/firewatch#274

Prerequisites

  • Create firewatch-slack-notify-webhook-url secret in test-credentials namespace with key slack_rule_notification_webhook_url

Test plan

  • Rehearse slack-webhook-test job from this PR
  • Verify firewatch posts a Slack notification to the configured webhook
  • Confirm no impact to existing firewatch-report-issues consumers (webhook is opt-in via secret)

Supersedes: #78342
Relates: https://issues.redhat.com/browse/INTEROP-8979

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch from e6707ba to fb4f23e Compare April 27, 2026 18:02
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 27, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Introduces Slack webhook notification functionality to the firewatch CI/CD system by adding a new test configuration, mounting webhook credentials as a secret, and updating the report-issues step to load and validate webhook URLs before posting notifications to external services.

Changes

Cohort / File(s) Summary
Slack Webhook Integration
ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh, ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml
Enhanced firewatch report-issues step with Slack webhook support: script now loads webhook URL from mounted secret (/tmp/secrets/slack/slack_rule_notification_webhook_url), validates non-emptiness, and exports for downstream use; ref configuration mounts the webhook secret and declares SLACK_WEBHOOK_URL environment variable.
Firewatch Test Configuration
ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml
New Slack webhook test variant with OCP 4.21 base images, Firewatch configuration defining global failure rules routing to Jira project INTEROP with Slack user assignment, scheduled execution on aws-cspi-qe cluster profile, and intentional failure step to trigger webhook notification flow.
Cluster Profile Registry
ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml
Added firewatch to the repos list for the aws-cspi-qe cluster profile.

Sequence Diagram(s)

sequenceDiagram
    participant Test as CI Test Job
    participant FirewatchStep as Firewatch Report-Issues Step
    participant Secret as Secret Mount
    participant Slack as Slack Webhook API
    participant Jira as Jira API

    Test->>FirewatchStep: Execute as post-ref after test failure
    FirewatchStep->>Secret: Read webhook URL from /tmp/secrets/slack
    Secret-->>FirewatchStep: Return webhook URL
    FirewatchStep->>FirewatchStep: Validate webhook URL non-empty
    FirewatchStep->>Slack: POST issue notification with webhook URL
    Slack-->>FirewatchStep: Webhook delivery confirmation
    FirewatchStep->>Jira: Create/update issue in INTEROP project
    Jira-->>FirewatchStep: Issue creation response
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly references the main change: wiring a Slack webhook into the firewatch-report-issues step, which is the core objective of this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed This pull request does not contain any Go test files or Ginkgo tests. The changes consist entirely of CI operator configuration files (YAML), shell scripts, and step registry metadata files.
Test Structure And Quality ✅ Passed This PR contains only CI/CD configuration files (YAML and shell scripts), not Ginkgo test code.
Microshift Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e tests. It only adds CI operator configuration files and a shell script for Slack webhook integration.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request does not add any Ginkgo e2e tests. Changes consist only of CI/CD configuration files, shell scripts, and cluster profiles.
Topology-Aware Scheduling Compatibility ✅ Passed Pull request is exclusively CI/CD test infrastructure without deployment manifests, operator code, or Kubernetes controllers, making the topology-aware scheduling check not applicable.
Ote Binary Stdout Contract ✅ Passed This PR modifies CI operator configuration files and step registry definitions in openshift/release, not executable OTE binary code. No Go code changes to main(), init(), or test entry points that could write non-JSON to stdout.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The custom check for IPv6 and Disconnected Network Test Compatibility is not applicable to this pull request. The PR introduces only CI infrastructure configuration files and a shell script for webhook credential handling, with no Ginkgo e2e test patterns.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot requested review from DavidHurta and calebevans April 27, 2026 18:03
@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch from fb4f23e to 5aec3ab Compare April 27, 2026 19:31
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml (1)

27-30: Minor: hardcoded personal email in tracked config.

mpruitt@redhat.com is hardcoded as both the Slack notification target and the default Jira assignee. This is a common pattern in CI configs but couples the test to a single individual — if that person changes roles, the test will silently route to a stale identity. Consider using a team alias or distribution list (e.g., a team Jira account / Slack group handle) so ownership transfers don't require config edits.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml`
around lines 27 - 30, Replace the hardcoded personal address used for Slack and
Jira ownership: change the "slack_user": "mpruitt@redhat.com" entry in the
notification rule and the FIREWATCH_DEFAULT_JIRA_ASSIGNEE: mpruitt@redhat.com
value to a team alias or distribution account (e.g., a Slack channel handle or
team Jira account) so ownership is not tied to a single individual; update the
JSON rule and the FIREWATCH_DEFAULT_JIRA_ASSIGNEE variable to the chosen team
identifier and ensure any consumers expect that format.
ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh (1)

45-49: Optional: simplify the trim with read -r.

The trailing-whitespace trim ${SLACK_WEBHOOK_URL%"${SLACK_WEBHOOK_URL##*[![:space:]]}"} is correct but hard to maintain. Using read -r reads the first line directly, naturally dropping the trailing newline that secret files typically contain, and is a more idiomatic shell pattern.

♻️ Proposed simplification
 if [ -f /tmp/secrets/slack/slack_rule_notification_webhook_url ]; then
-    SLACK_WEBHOOK_URL=$(cat /tmp/secrets/slack/slack_rule_notification_webhook_url)
-    SLACK_WEBHOOK_URL="${SLACK_WEBHOOK_URL%"${SLACK_WEBHOOK_URL##*[![:space:]]}"}"
-    export SLACK_WEBHOOK_URL
+    read -r SLACK_WEBHOOK_URL < /tmp/secrets/slack/slack_rule_notification_webhook_url
+    export SLACK_WEBHOOK_URL
 fi

Also note: if the secret file is empty (e.g., the credential exists but has no content), this block silently exports an empty SLACK_WEBHOOK_URL. That's acceptable since the ref's default is also empty, but worth keeping in mind if a caller ever sets the env directly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh`
around lines 45 - 49, Replace the cat + parameter-expansion trailing-space trim
inside the if block that reads the secret with a simple read -r into
SLACK_WEBHOOK_URL: instead of using SLACK_WEBHOOK_URL=$(cat
/tmp/secrets/slack/slack_rule_notification_webhook_url) and the complex trim,
use read -r to read the first line directly into SLACK_WEBHOOK_URL (preserving
the conditional test that the file exists) and then export SLACK_WEBHOOK_URL;
this simplifies maintenance and naturally removes the trailing newline from the
secret.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml`:
- Line 19: The cron schedule "cron: 0 23 31 2 *" in the
RedHatQE-firewatch-main__slack-webhook-test.yaml is a never-run (Feb 31)
rehearsal pattern; confirm the intent is manual/rehearsal-only and, if so, add
an inline comment or a "# disabled-by-design" marker next to the cron entry to
prevent future maintainers from "fixing" it, and update README or a comment to
explicitly warn that the job's step fail-to-trigger-webhook provisions a full
AWS IPI cluster, creates a Jira ticket in INTEROP (assigned to
mpruitt@redhat.com) and posts to Slack so rehearsers are aware.

In
`@ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml`:
- Around line 15-17: The ref firewatch-report-issues currently mounts the secret
firewatch-slack-notify-webhook-url (key slack_rule_notification_webhook_url)
from namespace test-credentials at /tmp/secrets/slack unconditionally, which
will break scheduling if that secret is missing; either ensure the secret is
added to the secret-bootstrap provisioning for test-credentials (so the key
slack_rule_notification_webhook_url is present) OR remove the unconditional
mount from the ci-operator ref and instead add the secret only to the new
slack-webhook-test variant (or make the mount optional) so existing consumers
aren’t forced to have the secret; confirm by verifying secret-bootstrap contains
firewatch-slack-notify-webhook-url and by running an unrelated job that uses
firewatch-report-issues to ensure no regressions.

---

Nitpick comments:
In
`@ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml`:
- Around line 27-30: Replace the hardcoded personal address used for Slack and
Jira ownership: change the "slack_user": "mpruitt@redhat.com" entry in the
notification rule and the FIREWATCH_DEFAULT_JIRA_ASSIGNEE: mpruitt@redhat.com
value to a team alias or distribution account (e.g., a Slack channel handle or
team Jira account) so ownership is not tied to a single individual; update the
JSON rule and the FIREWATCH_DEFAULT_JIRA_ASSIGNEE variable to the chosen team
identifier and ensure any consumers expect that format.

In
`@ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh`:
- Around line 45-49: Replace the cat + parameter-expansion trailing-space trim
inside the if block that reads the secret with a simple read -r into
SLACK_WEBHOOK_URL: instead of using SLACK_WEBHOOK_URL=$(cat
/tmp/secrets/slack/slack_rule_notification_webhook_url) and the complex trim,
use read -r to read the first line directly into SLACK_WEBHOOK_URL (preserving
the conditional test that the file exists) and then export SLACK_WEBHOOK_URL;
this simplifies maintenance and naturally removes the trailing newline from the
secret.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 73fc4b1a-a3c0-4d72-bbbb-ef090971514b

📥 Commits

Reviewing files that changed from the base of the PR and between f1ec335 and 5aec3ab.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/RedHatQE/firewatch/RedHatQE-firewatch-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (5)
  • ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml
  • ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml
  • ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml
  • ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh
  • ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml
💤 Files with no reviewable changes (1)
  • ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented Apr 27, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch 2 times, most recently from 1eb0516 to 6e5b522 Compare April 28, 2026 18:49
@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented Apr 28, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh amp-rh changed the title INTEROP-8979: Wire Slack webhook into firewatch-report-issues step WIP: INTEROP-8979: Wire Slack webhook into firewatch-report-issues step Apr 28, 2026
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 28, 2026
@amp-rh amp-rh marked this pull request as draft April 28, 2026 19:21
@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch from 6e5b522 to 72f4c18 Compare April 28, 2026 19:27
@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented Apr 28, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: job(s): periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test either don't exist or were not found to be affected, and cannot be rehearsed

@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch from 72f4c18 to ee817c0 Compare April 28, 2026 19:51
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml (1)

15-17: ⚠️ Potential issue | 🟠 Major

Unconditional Slack credential mount can still break existing consumers

At Line 15-17, this mount remains mandatory for every firewatch-report-issues consumer. If firewatch-slack-notify-webhook-url is missing in test-credentials, jobs fail before the opt-in runtime logic in firewatch-report-issues-commands.sh (Line 45-53) executes. Please either provision it universally before merge or scope this credential to the webhook test variant only.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml`
around lines 15 - 17, The manifest unconditionally mounts the secret
firewatch-slack-notify-webhook-url at /tmp/secrets/slack causing jobs to fail if
that secret is absent; make the secret mount optional by scoping it to the
webhook test variant or gating it behind the webhook-specific job variant so
only the webhook variant includes the secret mount, and update the consumer spec
in firewatch-report-issues-ref.yaml accordingly; reference the secret name
firewatch-slack-notify-webhook-url, the mount_path /tmp/secrets/slack, and the
runtime opt-in logic in firewatch-report-issues-commands.sh (lines ~45-53) when
applying the conditional change.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In
`@ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml`:
- Around line 15-17: The manifest unconditionally mounts the secret
firewatch-slack-notify-webhook-url at /tmp/secrets/slack causing jobs to fail if
that secret is absent; make the secret mount optional by scoping it to the
webhook test variant or gating it behind the webhook-specific job variant so
only the webhook variant includes the secret mount, and update the consumer spec
in firewatch-report-issues-ref.yaml accordingly; reference the secret name
firewatch-slack-notify-webhook-url, the mount_path /tmp/secrets/slack, and the
runtime opt-in logic in firewatch-report-issues-commands.sh (lines ~45-53) when
applying the conditional change.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 3f4b4cf1-a956-4ff4-a1be-62cd9ed44d69

📥 Commits

Reviewing files that changed from the base of the PR and between 6e5b522 and ee817c0.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/RedHatQE/firewatch/RedHatQE-firewatch-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (5)
  • ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml
  • ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml
  • ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml
  • ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-commands.sh
  • ci-operator/step-registry/firewatch/report-issues/firewatch-report-issues-ref.yaml
💤 Files with no reviewable changes (1)
  • ci-operator/config/openshift/ci-tools/openshift-ci-tools-main.yaml
✅ Files skipped from review due to trivial changes (2)
  • ci-operator/step-registry/cluster-profiles/cluster-profiles-config.yaml
  • ci-operator/config/RedHatQE/firewatch/RedHatQE-firewatch-main__slack-webhook-test.yaml

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented Apr 28, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh amp-rh force-pushed the interop-8979/firewatch-slack-webhook-v3 branch from ee817c0 to 31eee68 Compare April 29, 2026 13:47
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: amp-rh
Once this PR has been reviewed and has the lgtm label, please assign hector-vido for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 29, 2026

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{}

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented Apr 29, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 1, 2026

/pj-rehearse pull-ci-RedHatQE-firewatch-main-slack-webhook-test-images

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 1, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh, pj-rehearse: unable to set up jobs ERROR:

failed resolve ReleaseBuildConfiguration: Failed resolve MultiStageTestConfiguration: [test/slack-webhook-test: parameter "FIREWATCH_DEFAULT_JIRA_PROJECT" is overridden in [test/slack-webhook-test] but not declared in any step, test/slack-webhook-test: parameter "FIREWATCH_CONFIG" is overridden in [test/slack-webhook-test] but not declared in any step, test/slack-webhook-test: parameter "FIREWATCH_DEFAULT_JIRA_ASSIGNEE" is overridden in [test/slack-webhook-test] but not declared in any step]

If the problem persists, please contact Test Platform.

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 1, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

The commands field in an inline step is executed as a literal shell
command, not resolved from the step registry. Replace the filename
reference with the actual script content.
@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

…ream

The step name firewatch-report-issues collided with the registered step
ref, causing ci-operator to use the ref's from_image (published
firewatch:main imagestream) instead of the pipeline image built from
the fork branch. Renaming to firewatch-report-issues-fork breaks the
ref association so from: main correctly resolves to the pipeline image.
@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse pull-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: job(s): pull-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test either don't exist or were not found to be affected, and cannot be rehearsed

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse pull-ci-RedHatQE-firewatch-main-slack-webhook-test-images

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Writes a marker file during image build and checks for it at step
runtime. Also verifies Report._notify_failure_webhooks exists in the
installed code. This will definitively show whether the step uses the
pipeline image or the published imagestream.
@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse pull-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse pull-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: job(s): pull-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test either don't exist or were not found to be affected, and cannot be rehearsed

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

/pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@amp-rh: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

@amp-rh: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/prow-config fb4f23e link true /test prow-config
ci/rehearse/CSPI-QE/MSI/rhods-rhoam/v4.14-stage-co-exist-rosa-rhoai-rhoam 170dff3 link unknown /pj-rehearse pull-ci-CSPI-QE-MSI-rhods-rhoam-v4.14-stage-co-exist-rosa-rhoai-rhoam
ci/rehearse/periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test f33cb44 link unknown /pj-rehearse periodic-ci-RedHatQE-firewatch-main-slack-webhook-test-slack-webhook-test

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@amp-rh
Copy link
Copy Markdown
Contributor Author

amp-rh commented May 4, 2026

The Slack notification approach from this PR and its dependency (RedHatQE/firewatch#274) has been replaced with a simpler design in RedHatQE/firewatch#277.

Instead of posting Slack messages directly from firewatch (which required wiring $SLACK_WEBHOOK_URL secrets into the CI step), firewatch now writes slack-channel:<name> and slack-user:<email> Jira labels on created issues when slack_channel or slack_user are set in a rule. The existing Jira Automation rules handle the actual Slack routing based on those labels.

This eliminates the need for:

  • The firewatch-slack-notify-webhook-url secret
  • The $SLACK_WEBHOOK_URL env var in the step ref
  • Any SlackClient.post_webhook() calls or --slack-webhook-url CLI option

This PR can be closed once RedHatQE/firewatch#277 is merged.

@amp-rh amp-rh closed this May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants