Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1772,6 +1772,14 @@ components:
required: false
schema:
type: boolean
SlackUserUuidQueryParameter:
description: The UUID of the Datadog user to list Slack bindings for.
in: query
name: user_uuid
required: true
schema:
format: uuid
type: string
SloID:
description: The ID of the SLO.
in: path
Expand Down Expand Up @@ -86535,6 +86543,37 @@ components:
required:
- slackTrigger
type: object
SlackUserBindingData:
description: Slack team ID data from a response.
properties:
id:
description: The Slack team ID.
example: "T01234567"
type: string
type:
$ref: "#/components/schemas/SlackUserBindingType"
type: object
SlackUserBindingType:
default: team_id
description: Slack user binding resource type.
enum:
- team_id
example: team_id
type: string
x-enum-varnames:
- TEAM_ID
SlackUserBindingsResponse:
description: Response with a list of Slack user bindings.
properties:
data:
description: An array of Slack user bindings.
example: [{"id": "T01234567", "type": "team_id"}, {"id": "T09876543", "type": "team_id"}]
items:
$ref: "#/components/schemas/SlackUserBindingData"
type: array
required:
- data
type: object
SloDataSource:
default: slo
description: A data source for SLO queries.
Expand Down Expand Up @@ -132237,6 +132276,36 @@ paths:
summary: List ServiceNow users
tags:
- ServiceNow Integration
/api/v2/integration/slack/user-bindings:
get:
description: List all Slack user bindings for a given Datadog user from the Datadog Slack integration.
operationId: ListSlackUserBindings
parameters:
- $ref: "#/components/parameters/SlackUserUuidQueryParameter"
responses:
"200":
content:
application/json:
examples:
default:
value:
data:
- id: T01234567
type: team_id
- id: T09876543
type: team_id
schema:
$ref: "#/components/schemas/SlackUserBindingsResponse"
description: OK
"400":
$ref: "#/components/responses/BadRequestResponse"
"403":
$ref: "#/components/responses/ForbiddenResponse"
"429":
$ref: "#/components/responses/TooManyRequestsResponse"
summary: List Slack user bindings
tags:
- Slack Integration
/api/v2/integration/statuspage/account:
delete:
description: Delete the Statuspage account configured for your organization.
Expand Down Expand Up @@ -181539,6 +181608,13 @@ tags:
name: Service Level Objectives
- description: Manage your ServiceNow Integration. ServiceNow is a cloud-based platform that helps organizations manage digital workflows for enterprise operations.
name: ServiceNow Integration
- description: |-
Configure your [Datadog Slack integration](https://docs.datadoghq.com/integrations/slack/)
directly through the Datadog API.
externalDocs:
description: For more information about the Datadog Slack integration, see the integration page.
url: https://docs.datadoghq.com/integrations/slack/
name: Slack Integration
- description: |-
API to create, update, retrieve, and delete Software Catalog entities.
externalDocs:
Expand Down
27 changes: 27 additions & 0 deletions examples/v2/slack-integration/ListSlackUserBindings.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// List Slack user bindings returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.SlackIntegrationApi;
import com.datadog.api.client.v2.model.SlackUserBindingsResponse;
import java.util.UUID;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
SlackIntegrationApi apiInstance = new SlackIntegrationApi(defaultClient);

try {
SlackUserBindingsResponse result =
apiInstance.listSlackUserBindings(
UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SlackIntegrationApi#listSlackUserBindings");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
184 changes: 184 additions & 0 deletions src/main/java/com/datadog/api/client/v2/api/SlackIntegrationApi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
package com.datadog.api.client.v2.api;

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.ApiResponse;
import com.datadog.api.client.Pair;
import com.datadog.api.client.v2.model.SlackUserBindingsResponse;
import jakarta.ws.rs.client.Invocation;
import jakarta.ws.rs.core.GenericType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;

@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class SlackIntegrationApi {
private ApiClient apiClient;

public SlackIntegrationApi() {
this(ApiClient.getDefaultApiClient());
}

public SlackIntegrationApi(ApiClient apiClient) {
this.apiClient = apiClient;
}

/**
* Get the API client.
*
* @return API client
*/
public ApiClient getApiClient() {
return apiClient;
}

/**
* Set the API client.
*
* @param apiClient an instance of API client
*/
public void setApiClient(ApiClient apiClient) {
this.apiClient = apiClient;
}

/**
* List Slack user bindings.
*
* <p>See {@link #listSlackUserBindingsWithHttpInfo}.
*
* @param userUuid The UUID of the Datadog user to list Slack bindings for. (required)
* @return SlackUserBindingsResponse
* @throws ApiException if fails to make API call
*/
public SlackUserBindingsResponse listSlackUserBindings(UUID userUuid) throws ApiException {
return listSlackUserBindingsWithHttpInfo(userUuid).getData();
}

/**
* List Slack user bindings.
*
* <p>See {@link #listSlackUserBindingsWithHttpInfoAsync}.
*
* @param userUuid The UUID of the Datadog user to list Slack bindings for. (required)
* @return CompletableFuture&lt;SlackUserBindingsResponse&gt;
*/
public CompletableFuture<SlackUserBindingsResponse> listSlackUserBindingsAsync(UUID userUuid) {
return listSlackUserBindingsWithHttpInfoAsync(userUuid)
.thenApply(
response -> {
return response.getData();
});
}

/**
* List all Slack user bindings for a given Datadog user from the Datadog Slack integration.
*
* @param userUuid The UUID of the Datadog user to list Slack bindings for. (required)
* @return ApiResponse&lt;SlackUserBindingsResponse&gt;
* @throws ApiException if fails to make API call
* @http.response.details
* <table border="1">
* <caption>Response details</caption>
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 400 </td><td> Bad Request </td><td> - </td></tr>
* <tr><td> 403 </td><td> Forbidden </td><td> - </td></tr>
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
* </table>
*/
public ApiResponse<SlackUserBindingsResponse> listSlackUserBindingsWithHttpInfo(UUID userUuid)
throws ApiException {
Object localVarPostBody = null;

// verify the required parameter 'userUuid' is set
if (userUuid == null) {
throw new ApiException(
400, "Missing the required parameter 'userUuid' when calling listSlackUserBindings");
}
// create path and map variables
String localVarPath = "/api/v2/integration/slack/user-bindings";

List<Pair> localVarQueryParams = new ArrayList<Pair>();
Map<String, String> localVarHeaderParams = new HashMap<String, String>();

localVarQueryParams.addAll(apiClient.parameterToPairs("", "user_uuid", userUuid));

Invocation.Builder builder =
apiClient.createBuilder(
"v2.SlackIntegrationApi.listSlackUserBindings",
localVarPath,
localVarQueryParams,
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth"});
return apiClient.invokeAPI(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<SlackUserBindingsResponse>() {});
}

/**
* List Slack user bindings.
*
* <p>See {@link #listSlackUserBindingsWithHttpInfo}.
*
* @param userUuid The UUID of the Datadog user to list Slack bindings for. (required)
* @return CompletableFuture&lt;ApiResponse&lt;SlackUserBindingsResponse&gt;&gt;
*/
public CompletableFuture<ApiResponse<SlackUserBindingsResponse>>
listSlackUserBindingsWithHttpInfoAsync(UUID userUuid) {
Object localVarPostBody = null;

// verify the required parameter 'userUuid' is set
if (userUuid == null) {
CompletableFuture<ApiResponse<SlackUserBindingsResponse>> result = new CompletableFuture<>();
result.completeExceptionally(
new ApiException(
400, "Missing the required parameter 'userUuid' when calling listSlackUserBindings"));
return result;
}
// create path and map variables
String localVarPath = "/api/v2/integration/slack/user-bindings";

List<Pair> localVarQueryParams = new ArrayList<Pair>();
Map<String, String> localVarHeaderParams = new HashMap<String, String>();

localVarQueryParams.addAll(apiClient.parameterToPairs("", "user_uuid", userUuid));

Invocation.Builder builder;
try {
builder =
apiClient.createBuilder(
"v2.SlackIntegrationApi.listSlackUserBindings",
localVarPath,
localVarQueryParams,
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth"});
} catch (ApiException ex) {
CompletableFuture<ApiResponse<SlackUserBindingsResponse>> result = new CompletableFuture<>();
result.completeExceptionally(ex);
return result;
}
return apiClient.invokeAPIAsync(
"GET",
builder,
localVarHeaderParams,
new String[] {},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<SlackUserBindingsResponse>() {});
}
}
Loading
Loading