trycourier 6.7.0 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c665c6475e9af26f67197651f5599bac614c384d86086dd974ed410005ab407d
4
- data.tar.gz: 4e037944cf9a6cd6346aa647a5f097e3cd04a5be4676b1b0bc392bed497be990
3
+ metadata.gz: 6b9fddd9ae2196561574c358366ddd7830227d3990aaa52e89858de7e6b84cd9
4
+ data.tar.gz: a8c10271062a26d1389aee6ba8a645c05f35261b4db2b713b37868ce6fc504ea
5
5
  SHA512:
6
- metadata.gz: 244553b3412e7041264a0ceb8e355e89fcf67b8f00098cfab876e00408c39089e4e6bf0031693e7ab49749e43e74ac4fbf6b7ca16f8e91c00f63bc061157725e
7
- data.tar.gz: 60ce9fc7ae0c32289b97208cad86e4c97c0ca4b44f6d7f0d10967e72ea4922bc19104a95a46c6c7ee146372a57ba9a255b773a26f9d2bad505f3e905c84d66e9
6
+ metadata.gz: 8d783b22c1f61fc844e696322372651dd2204b99c7a3d661d0223e64fb2e328bee79853279612d989540d92b2c97e82ca0f46a1ebc444020b855cadb9b0fa0dc
7
+ data.tar.gz: e351011729fe6a218f2730bc2f2e2d5b7f4e722c80d9416fe74b95159634e00562eec047035d84f43ef65cc2c6b0f1f91ffbf890da900e7fc630b164ea52bdf4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [6.9.0](https://github.com/trycourier/courier-ruby/compare/v6.8.0...v6.9.0) (2026-09-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** filter notification templates by tag [C-21172] ([#161](https://github.com/trycourier/courier-ruby/issues/161)) ([bfdfbb0](https://github.com/trycourier/courier-ruby/commit/bfdfbb07c95e0db41b3660a0b81789d4c4e779b3))
9
+
10
+ ## [6.8.0](https://github.com/trycourier/courier-ruby/compare/v6.7.0...v6.8.0) (2026-09-23)
11
+
12
+
13
+ ### Features
14
+
15
+ * **api:** publish the secondary and tertiary action styles [C-19961] ([#159](https://github.com/trycourier/courier-ruby/issues/159)) ([57cb2c8](https://github.com/trycourier/courier-ruby/commit/57cb2c80c80e9f84c140d573759d7d745e277d17))
16
+
3
17
  ## [6.7.0](https://github.com/trycourier/courier-ruby/compare/v6.6.0...v6.7.0) (2026-09-22)
4
18
 
5
19
 
data/README.md CHANGED
@@ -9,7 +9,7 @@ Add the gem to your `Gemfile`:
9
9
  <!-- x-release-please-start-version -->
10
10
 
11
11
  ```ruby
12
- gem "trycourier", "~> 6.7.0"
12
+ gem "trycourier", "~> 6.9.0"
13
13
  ```
14
14
 
15
15
  <!-- x-release-please-end -->
@@ -73,7 +73,20 @@ module Courier
73
73
  optional :padding, String, nil?: true
74
74
 
75
75
  # @!attribute style
76
- # Defaults to `button`.
76
+ # How prominent the action should be. `button` is the default, `secondary` and
77
+ # `tertiary` are the other two button styles, and `link` renders as inline text
78
+ # rather than a button.
79
+ #
80
+ # Each channel draws these as closely as its medium allows. Email fills `button`,
81
+ # outlines `secondary`, and underlines `tertiary`. The in-app Inbox fills
82
+ # `button`, outlines `secondary`, and draws `tertiary` as a solid button. Slack
83
+ # renders all three as Block Kit buttons, with `secondary` in Slack's `primary`
84
+ # style and `tertiary` in its `danger` style.
85
+ #
86
+ # `background_color` is the fill for `button`, and the border and label color for
87
+ # `secondary`. For `tertiary` it colors the underline and label in email and the
88
+ # fill in the Inbox. It does not apply to `link`. An Inbox theme that sets its own
89
+ # action colors takes precedence over the template.
77
90
  #
78
91
  # @return [Symbol, Courier::Models::ElementalActionNode::Style, nil]
79
92
  optional :style, enum: -> { Courier::ElementalActionNode::Style }, nil?: true
@@ -106,13 +119,28 @@ module Courier
106
119
  #
107
120
  # @param padding [String, nil] CSS padding applied to the action button. For example, `8px 16px`
108
121
  #
109
- # @param style [Symbol, Courier::Models::ElementalActionNode::Style, nil] Defaults to `button`.
122
+ # @param style [Symbol, Courier::Models::ElementalActionNode::Style, nil] How prominent the action should be. `button` is the default, `secondary` and `te
110
123
 
111
- # Defaults to `button`.
124
+ # How prominent the action should be. `button` is the default, `secondary` and
125
+ # `tertiary` are the other two button styles, and `link` renders as inline text
126
+ # rather than a button.
127
+ #
128
+ # Each channel draws these as closely as its medium allows. Email fills `button`,
129
+ # outlines `secondary`, and underlines `tertiary`. The in-app Inbox fills
130
+ # `button`, outlines `secondary`, and draws `tertiary` as a solid button. Slack
131
+ # renders all three as Block Kit buttons, with `secondary` in Slack's `primary`
132
+ # style and `tertiary` in its `danger` style.
133
+ #
134
+ # `background_color` is the fill for `button`, and the border and label color for
135
+ # `secondary`. For `tertiary` it colors the underline and label in email and the
136
+ # fill in the Inbox. It does not apply to `link`. An Inbox theme that sets its own
137
+ # action colors takes precedence over the template.
112
138
  module Style
113
139
  extend Courier::Internal::Type::Enum
114
140
 
115
141
  BUTTON = :button
142
+ SECONDARY = :secondary
143
+ TERTIARY = :tertiary
116
144
  LINK = :link
117
145
 
118
146
  # @!method self.values
@@ -25,13 +25,26 @@ module Courier
25
25
  # @return [Boolean, nil]
26
26
  optional :notes, Courier::Internal::Type::Boolean, nil?: true
27
27
 
28
- # @!method initialize(cursor: nil, event_id: nil, notes: nil, request_options: {})
28
+ # @!attribute tags
29
+ # Comma-delimited list of tag names. Only templates carrying all of the listed
30
+ # tags are returned. Matching is case-insensitive. Filtering is applied before
31
+ # pagination.
32
+ #
33
+ # @return [String, nil]
34
+ optional :tags, String
35
+
36
+ # @!method initialize(cursor: nil, event_id: nil, notes: nil, tags: nil, request_options: {})
37
+ # Some parameter documentations has been truncated, see
38
+ # {Courier::Models::NotificationListParams} for more details.
39
+ #
29
40
  # @param cursor [String, nil] Opaque pagination cursor from a previous response. Omit for the first page.
30
41
  #
31
42
  # @param event_id [String] Filter to templates linked to this event map ID.
32
43
  #
33
44
  # @param notes [Boolean, nil] Include template notes in the response. Only applies to legacy templates.
34
45
  #
46
+ # @param tags [String] Comma-delimited list of tag names. Only templates carrying all of the listed tag
47
+ #
35
48
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}]
36
49
  end
37
50
  end
@@ -84,10 +84,13 @@ module Courier
84
84
  )
85
85
  end
86
86
 
87
+ # Some parameter documentations has been truncated, see
88
+ # {Courier::Models::NotificationListParams} for more details.
89
+ #
87
90
  # Lists the workspace's notification templates. Each carries a name, tags, brand,
88
91
  # routing, and its draft or published state.
89
92
  #
90
- # @overload list(cursor: nil, event_id: nil, notes: nil, request_options: {})
93
+ # @overload list(cursor: nil, event_id: nil, notes: nil, tags: nil, request_options: {})
91
94
  #
92
95
  # @param cursor [String, nil] Opaque pagination cursor from a previous response. Omit for the first page.
93
96
  #
@@ -95,6 +98,8 @@ module Courier
95
98
  #
96
99
  # @param notes [Boolean, nil] Include template notes in the response. Only applies to legacy templates.
97
100
  #
101
+ # @param tags [String] Comma-delimited list of tag names. Only templates carrying all of the listed tag
102
+ #
98
103
  # @param request_options [Courier::RequestOptions, Hash{Symbol=>Object}, nil]
99
104
  #
100
105
  # @return [Courier::Models::NotificationListResponse]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Courier
4
- VERSION = "6.7.0"
4
+ VERSION = "6.9.0"
5
5
  end
@@ -55,7 +55,20 @@ module Courier
55
55
  sig { returns(T.nilable(String)) }
56
56
  attr_accessor :padding
57
57
 
58
- # Defaults to `button`.
58
+ # How prominent the action should be. `button` is the default, `secondary` and
59
+ # `tertiary` are the other two button styles, and `link` renders as inline text
60
+ # rather than a button.
61
+ #
62
+ # Each channel draws these as closely as its medium allows. Email fills `button`,
63
+ # outlines `secondary`, and underlines `tertiary`. The in-app Inbox fills
64
+ # `button`, outlines `secondary`, and draws `tertiary` as a solid button. Slack
65
+ # renders all three as Block Kit buttons, with `secondary` in Slack's `primary`
66
+ # style and `tertiary` in its `danger` style.
67
+ #
68
+ # `background_color` is the fill for `button`, and the border and label color for
69
+ # `secondary`. For `tertiary` it colors the underline and label in email and the
70
+ # fill in the Inbox. It does not apply to `link`. An Inbox theme that sets its own
71
+ # action colors takes precedence over the template.
59
72
  sig { returns(T.nilable(Courier::ElementalActionNode::Style::OrSymbol)) }
60
73
  attr_accessor :style
61
74
 
@@ -102,7 +115,20 @@ module Courier
102
115
  locales: nil,
103
116
  # CSS padding applied to the action button. For example, `8px 16px`
104
117
  padding: nil,
105
- # Defaults to `button`.
118
+ # How prominent the action should be. `button` is the default, `secondary` and
119
+ # `tertiary` are the other two button styles, and `link` renders as inline text
120
+ # rather than a button.
121
+ #
122
+ # Each channel draws these as closely as its medium allows. Email fills `button`,
123
+ # outlines `secondary`, and underlines `tertiary`. The in-app Inbox fills
124
+ # `button`, outlines `secondary`, and draws `tertiary` as a solid button. Slack
125
+ # renders all three as Block Kit buttons, with `secondary` in Slack's `primary`
126
+ # style and `tertiary` in its `danger` style.
127
+ #
128
+ # `background_color` is the fill for `button`, and the border and label color for
129
+ # `secondary`. For `tertiary` it colors the underline and label in email and the
130
+ # fill in the Inbox. It does not apply to `link`. An Inbox theme that sets its own
131
+ # action colors takes precedence over the template.
106
132
  style: nil
107
133
  )
108
134
  end
@@ -128,7 +154,20 @@ module Courier
128
154
  def to_hash
129
155
  end
130
156
 
131
- # Defaults to `button`.
157
+ # How prominent the action should be. `button` is the default, `secondary` and
158
+ # `tertiary` are the other two button styles, and `link` renders as inline text
159
+ # rather than a button.
160
+ #
161
+ # Each channel draws these as closely as its medium allows. Email fills `button`,
162
+ # outlines `secondary`, and underlines `tertiary`. The in-app Inbox fills
163
+ # `button`, outlines `secondary`, and draws `tertiary` as a solid button. Slack
164
+ # renders all three as Block Kit buttons, with `secondary` in Slack's `primary`
165
+ # style and `tertiary` in its `danger` style.
166
+ #
167
+ # `background_color` is the fill for `button`, and the border and label color for
168
+ # `secondary`. For `tertiary` it colors the underline and label in email and the
169
+ # fill in the Inbox. It does not apply to `link`. An Inbox theme that sets its own
170
+ # action colors takes precedence over the template.
132
171
  module Style
133
172
  extend Courier::Internal::Type::Enum
134
173
 
@@ -138,6 +177,10 @@ module Courier
138
177
 
139
178
  BUTTON =
140
179
  T.let(:button, Courier::ElementalActionNode::Style::TaggedSymbol)
180
+ SECONDARY =
181
+ T.let(:secondary, Courier::ElementalActionNode::Style::TaggedSymbol)
182
+ TERTIARY =
183
+ T.let(:tertiary, Courier::ElementalActionNode::Style::TaggedSymbol)
141
184
  LINK = T.let(:link, Courier::ElementalActionNode::Style::TaggedSymbol)
142
185
 
143
186
  sig do
@@ -26,11 +26,21 @@ module Courier
26
26
  sig { returns(T.nilable(T::Boolean)) }
27
27
  attr_accessor :notes
28
28
 
29
+ # Comma-delimited list of tag names. Only templates carrying all of the listed
30
+ # tags are returned. Matching is case-insensitive. Filtering is applied before
31
+ # pagination.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :tags
34
+
35
+ sig { params(tags: String).void }
36
+ attr_writer :tags
37
+
29
38
  sig do
30
39
  params(
31
40
  cursor: T.nilable(String),
32
41
  event_id: String,
33
42
  notes: T.nilable(T::Boolean),
43
+ tags: String,
34
44
  request_options: Courier::RequestOptions::OrHash
35
45
  ).returns(T.attached_class)
36
46
  end
@@ -41,6 +51,10 @@ module Courier
41
51
  event_id: nil,
42
52
  # Include template notes in the response. Only applies to legacy templates.
43
53
  notes: nil,
54
+ # Comma-delimited list of tag names. Only templates carrying all of the listed
55
+ # tags are returned. Matching is case-insensitive. Filtering is applied before
56
+ # pagination.
57
+ tags: nil,
44
58
  request_options: {}
45
59
  )
46
60
  end
@@ -51,6 +65,7 @@ module Courier
51
65
  cursor: T.nilable(String),
52
66
  event_id: String,
53
67
  notes: T.nilable(T::Boolean),
68
+ tags: String,
54
69
  request_options: Courier::RequestOptions
55
70
  }
56
71
  )
@@ -80,6 +80,7 @@ module Courier
80
80
  cursor: T.nilable(String),
81
81
  event_id: String,
82
82
  notes: T.nilable(T::Boolean),
83
+ tags: String,
83
84
  request_options: Courier::RequestOptions::OrHash
84
85
  ).returns(Courier::Models::NotificationListResponse)
85
86
  end
@@ -90,6 +91,10 @@ module Courier
90
91
  event_id: nil,
91
92
  # Include template notes in the response. Only applies to legacy templates.
92
93
  notes: nil,
94
+ # Comma-delimited list of tag names. Only templates carrying all of the listed
95
+ # tags are returned. Matching is case-insensitive. Filtering is applied before
96
+ # pagination.
97
+ tags: nil,
93
98
  request_options: {}
94
99
  )
95
100
  end
@@ -97,12 +97,14 @@ module Courier
97
97
  style: Courier::Models::ElementalActionNode::style?
98
98
  }
99
99
 
100
- type style = :button | :link
100
+ type style = :button | :secondary | :tertiary | :link
101
101
 
102
102
  module Style
103
103
  extend Courier::Internal::Type::Enum
104
104
 
105
105
  BUTTON: :button
106
+ SECONDARY: :secondary
107
+ TERTIARY: :tertiary
106
108
  LINK: :link
107
109
 
108
110
  def self?.values: -> ::Array[Courier::Models::ElementalActionNode::style]
@@ -1,7 +1,7 @@
1
1
  module Courier
2
2
  module Models
3
3
  type notification_list_params =
4
- { cursor: String?, event_id: String, notes: bool? }
4
+ { cursor: String?, event_id: String, notes: bool?, tags: String }
5
5
  & Courier::Internal::Type::request_parameters
6
6
 
7
7
  class NotificationListParams < Courier::Internal::Type::BaseModel
@@ -16,10 +16,15 @@ module Courier
16
16
 
17
17
  attr_accessor notes: bool?
18
18
 
19
+ attr_reader tags: String?
20
+
21
+ def tags=: (String) -> String
22
+
19
23
  def initialize: (
20
24
  ?cursor: String?,
21
25
  ?event_id: String,
22
26
  ?notes: bool?,
27
+ ?tags: String,
23
28
  ?request_options: Courier::request_opts
24
29
  ) -> void
25
30
 
@@ -27,6 +32,7 @@ module Courier
27
32
  cursor: String?,
28
33
  event_id: String,
29
34
  notes: bool?,
35
+ tags: String,
30
36
  request_options: Courier::RequestOptions
31
37
  }
32
38
  end
@@ -21,6 +21,7 @@ module Courier
21
21
  ?cursor: String?,
22
22
  ?event_id: String,
23
23
  ?notes: bool?,
24
+ ?tags: String,
24
25
  ?request_options: Courier::request_opts
25
26
  ) -> Courier::Models::NotificationListResponse
26
27
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trycourier
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.7.0
4
+ version: 6.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-23 00:00:00.000000000 Z
11
+ date: 2026-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi