
com.hubspot.slack.client.models.AttachmentIF Maven / Gradle / Ivy
package com.hubspot.slack.client.models;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.jackson.AttachmentSerializer;
import com.hubspot.slack.client.models.actions.Action;
import com.hubspot.slack.client.models.blocks.Block;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import org.immutables.value.Value.Immutable;
@Immutable
@HubSpotStyle
@JsonNaming(SnakeCaseStrategy.class)
@JsonSerialize(using = AttachmentSerializer.class)
public interface AttachmentIF extends BlockOrAttachment {
Optional getFallback();
Optional getColor();
Optional getPretext();
Optional getAuthorName();
Optional getAuthorLink();
Optional getAuthorIcon();
Optional getTitle();
Optional getTitleLink();
Optional getText();
Optional getImageUrl();
Optional getAttachmentType();
List getFields();
Optional getFooter();
Optional getFooterIcon();
Optional getThumbUrl();
@JsonProperty("ts")
Optional getEpochSeconds();
Optional getCallbackId();
List getActions();
/**
* Slack will only markdown in fields whose names are included in this set. See {@link MarkdownSupportedFields}
*/
Set getMrkdwnIn();
@JsonInclude(JsonInclude.Include.NON_EMPTY)
List getBlocks();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy