Skip to content

Commit 154d12f

Browse files
jkodroffclaude
andauthored
Fix obsolete navigation paths in ESC webhooks documentation (#16392)
Updates navigation instructions to reflect current Pulumi Cloud UI, where organization webhooks are now found under Integrations > Webhooks rather than Settings > Webhooks. Also reorders sections to present environment webhooks before organization webhooks for better logical flow. Additional cleanup includes removing outdated trial callout and screenshot, fixing Python code example syntax errors, correcting grammar errors, and standardizing list formatting per style guide. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * Add admin permission requirement and fix navigation path for organization webhooks Addresses PR feedback by documenting that organization webhook creation requires admin permissions and correcting the navigation path to Settings > Integrations > Webhooks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
1 parent effdc60 commit 154d12f

File tree

1 file changed

+40
-46
lines changed

1 file changed

+40
-46
lines changed

content/docs/esc/environments/webhooks.md

Lines changed: 40 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -13,69 +13,63 @@ aliases:
1313
- /docs/esc/webhooks/
1414
---
1515

16-
{{% notes "info" %}}
17-
ESC Webhooks is a feature available on the Pulumi Team, Enterprise and Business Critical editions.
18-
To try it out, start a [trial](https://app.pulumi.com/site/trial) now.
19-
{{% /notes %}}
20-
2116
ESC Webhooks allow you to notify external services of events
2217
happening within your ESC environments. For example,
2318
you can trigger a notification whenever a new revision of an environment is created.
2419
When an event occurs, Pulumi will notify the registered webhook listeners via a HTTP `POST`
2520
request with metadata about the event. The webhook can then be used to emit a
2621
notification, start running integration tests, or even update Pulumi stacks.
2722

28-
There are large number of real life applications for webhooks including serving as the foundation
29-
of most _ChatOps_ workflows.
30-
3123
## Overview
3224

33-
ESC Webhooks can be attached to either an environment or an organization. Environment webhooks
34-
will be notified of events specific to the environment. Organization
35-
webhooks will be notified for events happening within each of the organization's
36-
environments.
37-
38-
Organization webhooks can be managed on the Organization Settings page. Environment webhooks can be managed from the webhooks tab on each Environment's detail page.
25+
ESC Webhooks can be attached to either an environment or a Pulumi Cloud organization:
3926

40-
![Organization webhooks](/images/docs/reference/service/webhooks/org-webhooks.png)
27+
- **Environment webhooks** will fire in response to events you specify for a single ESC environment.
28+
- **Organization webhooks** can be configured to trigger in response to events you specify for _all_ environments in your Pulumi Cloud organization, in addition to other organization-wide events.
4129

30+
{{% notes "info" %}}
4231
Pulumi Cloud also supports webhooks for events related to Pulumi IaC stacks and [Pulumi Deployments](/docs/pulumi-cloud/deployments). For additional information on these types of webhooks, see [Pulumi Cloud Webhooks](/docs/deployments/webhooks).
32+
{{% /notes %}}
4333

4434
{{% notes "info" %}}
45-
Webhooks do not guarantee event order. You should not assume events will be received in the order they occurred.
35+
Webhooks do not guarantee ordered delivery of events. That is, you should not assume events will be received in the order in which they occurred.
4636
{{% /notes %}}
4737

4838
### Create a Webhook
4939

5040
Pulumi Webhooks may be created through any of the following methods:
5141

5242
1. Manually, in the Pulumi Cloud UI using the steps outlined in [Create an Organization Webhook in the Pulumi Cloud UI](#create-an-organization-webhook-in-the-pulumi-cloud-ui) or [Create an Environment Webhook in Pulumi Cloud in the Pulumi Cloud UI](#create-an-environment-webhook-in-the-pulumi-cloud-ui).
53-
1. Declaratively, as part of a [Pulumi IaC](/docs/iac) program as shown in [Create an Webhook in a Pulumi IaC Program](#create-an-webhook-in-a-pulumi-iac-program)
54-
1. By invoking the [Pulumi Cloud REST API](/docs/pulumi-cloud/cloud-rest-api/#create-webhook) directly.
55-
56-
#### Create an Organization Webhook in the Pulumi Cloud UI
57-
58-
1. Navigate to **Settings** > **Webhooks**.
59-
2. Select **Create webhook**.
60-
3. Under Destination, choose **Webhook**, **Slack** or **Microsoft Teams**.
61-
1. For generic JSON webhooks, provide a display name, payload URL, and optionally a secret.
62-
2. For Slack webhooks, provide a Slack webhook URL and a display name.
63-
3. For Microsoft Teams webhooks, provide a Microsoft Teams webhook URL and a display name.
64-
4. Choose which events you would like to receive using groups and filters menu.
43+
1. Declaratively, as part of a [Pulumi IaC](/docs/iac) program as shown in [Create a Webhook in a Pulumi IaC Program](#create-a-webhook-in-a-pulumi-iac-program)
44+
1. By invoking the [Pulumi Cloud REST API](/docs/reference/cloud-rest-api/webhooks/#create-webhook) directly.
6545

6646
#### Create an Environment Webhook in the Pulumi Cloud UI
6747

68-
1. Navigate to your environment.
69-
2. Navigate to **Webhooks** tab.
70-
3. Select **Create webhook**.
71-
4. Under Destination, choose **Webhook**, **Slack**, **Microsoft Teams** or **Deployment**
48+
1. Navigate to the environment you wish to create a webhook for.
49+
1. Navigate to **Webhooks** tab.
50+
1. Select **Create webhook**.
51+
1. Under Destination, choose **Webhook**, **Slack**, **Microsoft Teams** or **Deployment**
7252
1. For generic JSON webhooks, provide a display name, payload URL, and optionally a secret.
73-
2. For Slack webhooks, provide a Slack webhook URL and a display name.
74-
3. For Microsoft Teams webhooks, provide a Microsoft Teams webhook URL and a display name.
75-
4. For Deployment webhooks, provide the stack to deploy in the format `project/stack`.
76-
5. Choose which events you would like to receive using groups and filters menu.
53+
1. For Slack webhooks, provide a Slack webhook URL and a display name.
54+
1. For Microsoft Teams webhooks, provide a Microsoft Teams webhook URL and a display name.
55+
1. For Deployment webhooks, provide the stack to deploy in the format `project/stack`.
56+
1. Choose which events you would like to receive using groups and filters menu.
57+
58+
#### Create an Organization Webhook in the Pulumi Cloud UI
7759

78-
#### Create an Webhook in a Pulumi IaC Program
60+
{{% notes "info" %}}
61+
You must be an admin of the organization to create organization webhooks.
62+
{{% /notes %}}
63+
64+
1. Select **Settings** > **Integrations** > **Webhooks**.
65+
1. Select **Create webhook**.
66+
1. Under Destination, choose **Webhook**, **Slack** or **Microsoft Teams**.
67+
1. For generic JSON webhooks, provide a display name, payload URL, and optionally a secret.
68+
1. For Slack webhooks, provide a Slack webhook URL and a display name.
69+
1. For Microsoft Teams webhooks, provide a Microsoft Teams webhook URL and a display name.
70+
1. Choose which events you would like to receive using groups and filters menu.
71+
72+
#### Create a Webhook in a Pulumi IaC Program
7973

8074
The following example shows how to create an Environment webhook in a Pulumi IaC program by declaring a [Webhook resource](/registry/packages/pulumiservice/api-docs/webhook/) with the [Pulumi Cloud provider](/registry/packages/pulumiservice).
8175

@@ -101,13 +95,13 @@ const webhook = new pulumiservice.Webhook("example-webhook", {
10195

10296
```python
10397
import pulumi
104-
import pulumi_pulumiservice
105-
webhook = pulumi_service.Webhook("example-webhook",
106-
active: True,
107-
display_name: "webhook example",
108-
organization_name: "example",
109-
environmentName: "my-environment",
110-
payload_url: "https://example.com/webhook",
98+
import pulumi_pulumiservice as pcloud
99+
webhook = pcloud.Webhook("example-webhook",
100+
active=True,
101+
display_name="webhook example",
102+
organization_name="example",
103+
environment_name="my-environment",
104+
payload_url="https://example.com/webhook"
111105
)
112106
```
113107

@@ -419,5 +413,5 @@ func computeSignature(payload []byte, secret string) string {
419413

420414
## Additional Resources
421415

422-
* [Managing Github Webhooks with Pulumi](/blog/managing-github-webhooks-with-pulumi/)
423-
* [Pulumi Cloud REST API](/docs/pulumi-cloud/cloud-rest-api/)
416+
- [Managing Github Webhooks with Pulumi](/blog/managing-github-webhooks-with-pulumi/)
417+
- [Pulumi Cloud REST API](/docs/pulumi-cloud/cloud-rest-api/)

0 commit comments

Comments
 (0)