Skip to content
Draft
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
34 changes: 34 additions & 0 deletions json-logs/samples/api/admin.slackbot.skills.list.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"ok": false,
"error": "",
"needed": "",
"provided": "",
"warning": "",
"response_metadata": {
"messages": [
""
],
"next_cursor": ""
},
"skills": [
{
"auto_enabled": {
"permission_type": "",
"usergroup_ids": [
"S00000000"
]
},
"category": "",
"creator_id": "U00000000",
"date_created": 12345,
"date_updated": 12345,
"description": "",
"display_name": "",
"id": "F00000000",
"is_official": false,
"library_count": 12345,
"usage_count": 12345,
"visibility": ""
}
]
}
1 change: 1 addition & 0 deletions metadata/web-api/rate_limit_tiers.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
"admin.roles.addAssignments": "Tier2",
"admin.roles.listAssignments": "Tier3",
"admin.roles.removeAssignments": "Tier2",
"admin.slackbot.skills.list": "Tier2",
"admin.teams.admins.list": "Tier3",
"admin.teams.create": "Tier1",
"admin.teams.list": "Tier3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.slack.api.methods.request.admin.roles.AdminRolesAddAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesListAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesRemoveAssignmentsRequest;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsAdminsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsCreateRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsListRequest;
Expand Down Expand Up @@ -186,6 +187,7 @@
import com.slack.api.methods.response.admin.roles.AdminRolesAddAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesListAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesRemoveAssignmentsResponse;
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsAdminsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsCreateResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsListResponse;
Expand Down Expand Up @@ -656,6 +658,14 @@ CompletableFuture<AdminConversationsWhitelistListGroupsLinkedToChannelResponse>

CompletableFuture<AdminRolesRemoveAssignmentsResponse> adminRolesRemoveAssignments(RequestConfigurator<AdminRolesRemoveAssignmentsRequest.AdminRolesRemoveAssignmentsRequestBuilder> req);

// ------------------------------
// admin.slackbot.skills
// ------------------------------

CompletableFuture<AdminSlackbotSkillsListResponse> adminSlackbotSkillsList(AdminSlackbotSkillsListRequest req);

CompletableFuture<AdminSlackbotSkillsListResponse> adminSlackbotSkillsList(RequestConfigurator<AdminSlackbotSkillsListRequest.AdminSlackbotSkillsListRequestBuilder> req);

// ------------------------------
// admin.teams.admins
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,12 @@ private Methods() {
public static final String ADMIN_ROLES_ADD_ASSIGNMENTS = "admin.roles.addAssignments";
public static final String ADMIN_ROLES_REMOVE_ASSIGNMENTS = "admin.roles.removeAssignments";

// ------------------------------
// admin.slackbot.skills
// ------------------------------

public static final String ADMIN_SLACKBOT_SKILLS_LIST = "admin.slackbot.skills.list";

// ------------------------------
// admin.teams.admins
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.slack.api.methods.request.admin.roles.AdminRolesAddAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesListAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesRemoveAssignmentsRequest;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsAdminsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsCreateRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsListRequest;
Expand Down Expand Up @@ -199,6 +200,7 @@
import com.slack.api.methods.response.admin.roles.AdminRolesAddAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesListAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesRemoveAssignmentsResponse;
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsAdminsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsCreateResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsListResponse;
Expand Down Expand Up @@ -896,6 +898,15 @@ AdminRolesRemoveAssignmentsResponse adminRolesRemoveAssignments(
RequestConfigurator<AdminRolesRemoveAssignmentsRequest.AdminRolesRemoveAssignmentsRequestBuilder> req)
throws IOException, SlackApiException;

// ------------------------------
// admin.slackbot.skills
// ------------------------------

AdminSlackbotSkillsListResponse adminSlackbotSkillsList(AdminSlackbotSkillsListRequest req) throws IOException, SlackApiException;

AdminSlackbotSkillsListResponse adminSlackbotSkillsList(RequestConfigurator<AdminSlackbotSkillsListRequest.AdminSlackbotSkillsListRequestBuilder> req)
throws IOException, SlackApiException;

// ------------------------------
// admin.teams.admins
// ------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@ public static void setRateLimitTier(String methodName, MethodsRateLimitTier tier
ADMIN_ROLES_ADD_ASSIGNMENTS,
ADMIN_ROLES_REMOVE_ASSIGNMENTS,

ADMIN_SLACKBOT_SKILLS_LIST,

ADMIN_TEAMS_SETTINGS_SET_DEFAULT_CHANNELS,
ADMIN_TEAMS_SETTINGS_SET_DESCRIPTION,
ADMIN_TEAMS_SETTINGS_SET_DISCOVERABILITY,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.slack.api.methods.request.admin.roles.AdminRolesAddAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesListAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesRemoveAssignmentsRequest;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsAdminsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsCreateRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsListRequest;
Expand Down Expand Up @@ -822,6 +823,21 @@ public static FormBody.Builder toForm(AdminRolesRemoveAssignmentsRequest req) {
return form;
}

public static FormBody.Builder toForm(AdminSlackbotSkillsListRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("category", req.getCategory(), form);
setIfNotNull("cursor", req.getCursor(), form);
setIfNotNull("limit", req.getLimit(), form);
if (req.getCreatorIds() != null) {
setIfNotNull("creator_ids", req.getCreatorIds().stream().collect(joining(",")), form);
}
setIfNotNull("publish_status", req.getPublishStatus(), form);
setIfNotNull("auto_enabled_status", req.getAutoEnabledStatus(), form);
setIfNotNull("sort", req.getSort(), form);
setIfNotNull("sort_dir", req.getSortDir(), form);
return form;
}

public static FormBody.Builder toForm(AdminTeamsAdminsListRequest req) {
FormBody.Builder form = new FormBody.Builder();
setIfNotNull("cursor", req.getCursor(), form);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import com.slack.api.methods.request.admin.roles.AdminRolesAddAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesListAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesRemoveAssignmentsRequest;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsAdminsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsCreateRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsListRequest;
Expand Down Expand Up @@ -191,6 +192,7 @@
import com.slack.api.methods.response.admin.roles.AdminRolesAddAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesListAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesRemoveAssignmentsResponse;
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsAdminsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsCreateResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsListResponse;
Expand Down Expand Up @@ -999,6 +1001,16 @@ public CompletableFuture<AdminRolesRemoveAssignmentsResponse> adminRolesRemoveAs
return adminRolesRemoveAssignments(req.configure(AdminRolesRemoveAssignmentsRequest.builder()).build());
}

@Override
public CompletableFuture<AdminSlackbotSkillsListResponse> adminSlackbotSkillsList(AdminSlackbotSkillsListRequest req) {
return executor.execute(ADMIN_SLACKBOT_SKILLS_LIST, toMap(req), () -> methods.adminSlackbotSkillsList(req));
}

@Override
public CompletableFuture<AdminSlackbotSkillsListResponse> adminSlackbotSkillsList(RequestConfigurator<AdminSlackbotSkillsListRequest.AdminSlackbotSkillsListRequestBuilder> req) {
return adminSlackbotSkillsList(req.configure(AdminSlackbotSkillsListRequest.builder()).build());
}

@Override
public CompletableFuture<AdminTeamsAdminsListResponse> adminTeamsAdminsList(AdminTeamsAdminsListRequest req) {
return executor.execute(ADMIN_TEAMS_ADMINS_LIST, toMap(req), () -> methods.adminTeamsAdminsList(req));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.slack.api.methods.request.admin.roles.AdminRolesAddAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesListAssignmentsRequest;
import com.slack.api.methods.request.admin.roles.AdminRolesRemoveAssignmentsRequest;
import com.slack.api.methods.request.admin.slackbot.skills.AdminSlackbotSkillsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsAdminsListRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsCreateRequest;
import com.slack.api.methods.request.admin.teams.AdminTeamsListRequest;
Expand Down Expand Up @@ -200,6 +201,7 @@
import com.slack.api.methods.response.admin.roles.AdminRolesAddAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesListAssignmentsResponse;
import com.slack.api.methods.response.admin.roles.AdminRolesRemoveAssignmentsResponse;
import com.slack.api.methods.response.admin.slackbot.skills.AdminSlackbotSkillsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsAdminsListResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsCreateResponse;
import com.slack.api.methods.response.admin.teams.AdminTeamsListResponse;
Expand Down Expand Up @@ -1040,6 +1042,16 @@ public AdminRolesRemoveAssignmentsResponse adminRolesRemoveAssignments(RequestCo
return adminRolesRemoveAssignments(req.configure(AdminRolesRemoveAssignmentsRequest.builder()).build());
}

@Override
public AdminSlackbotSkillsListResponse adminSlackbotSkillsList(AdminSlackbotSkillsListRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.ADMIN_SLACKBOT_SKILLS_LIST, getToken(req), AdminSlackbotSkillsListResponse.class);
}

@Override
public AdminSlackbotSkillsListResponse adminSlackbotSkillsList(RequestConfigurator<AdminSlackbotSkillsListRequest.AdminSlackbotSkillsListRequestBuilder> req) throws IOException, SlackApiException {
return adminSlackbotSkillsList(req.configure(AdminSlackbotSkillsListRequest.builder()).build());
}

@Override
public AdminTeamsAdminsListResponse adminTeamsAdminsList(AdminTeamsAdminsListRequest req) throws IOException, SlackApiException {
return postFormWithTokenAndParseResponse(toForm(req), Methods.ADMIN_TEAMS_ADMINS_LIST, getToken(req), AdminTeamsAdminsListResponse.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.slack.api.methods.request.admin.slackbot.skills;

import com.slack.api.methods.SlackApiRequest;
import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
* https://docs.slack.dev/reference/methods/admin.slackbot.skills.list
*/
@Data
@Builder
public class AdminSlackbotSkillsListRequest implements SlackApiRequest {

/**
* Authentication token bearing required scopes. Tokens should be passed as an HTTP Authorization header or alternatively, as a POST parameter.
*/
private String token;

/**
* Only return skills in this category.
* Acceptable values: `communication`, `customer_support`, `data_and_analytics`, `engineering`, `product_management`, `productivity`, `professional_development`, `project_management`, `sales`, `system`, `team_management`, `other`
*/
private String category;

/**
* Continuation from the previous page. Keep all filters and sorting unchanged. Pages can be empty while a continuation remains; continue until next_cursor is empty. Changes during traversal may move results; pagination is not a snapshot.
*/
private String cursor;

/**
* The maximum number of skills to return. Fewer may be returned even when more remain.
*/
private Integer limit;

/**
* Only return skills created by these users. Accepts U or W user IDs.
*/
private List<String> creatorIds;

/**
* Filter by publication to the org catalog.
* Acceptable values: `all`, `published`, `unpublished`
*/
private String publishStatus;

/**
* Filter by org deployment, independently of publication.
* Acceptable values: `all`, `enabled`, `disabled`
*/
private String autoEnabledStatus;

/**
* Sort across the inventory. Name uses case-insensitive ordering. Unedited skills use their creation date for date_updated sorting.
* Acceptable values: `name`, `usage_count`, `date_updated`
*/
private String sort;

/**
* Sort direction; file ID breaks ties.
* Acceptable values: `asc`, `desc`
*/
private String sortDir;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.slack.api.methods.response.admin.slackbot.skills;

import com.slack.api.methods.SlackApiTextResponse;
import com.slack.api.model.ResponseMetadata;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class AdminSlackbotSkillsListResponse implements SlackApiTextResponse {

private boolean ok;
private String warning;
private String error;
private String needed;
private String provided;
private transient Map<String, List<String>> httpResponseHeaders;

private ResponseMetadata responseMetadata;
private List<Skill> skills;

@Data
public static class AutoEnabled {
private String permissionType;
private List<String> usergroupIds;
}

@Data
public static class Skill {
private AutoEnabled autoEnabled;
private String category;
private String creatorId;
private Integer dateCreated;
private Integer dateUpdated;
private String description;
private String displayName;
private String id;
private Boolean isOfficial;
private Integer libraryCount;
private Integer usageCount;
private String visibility;
}
}
Loading
Loading