Zulip
Posts a message to a Zulip server. You must procure an account and apiKey to use this announcer.
Configuration
Legend:
-
required
-
optional
-
may use environment variable
-
accepts Name Templates
#
announce:
#
zulip:
# Enables or disables Zulip.
# Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
# Defaults to `NEVER`.
#
active: ALWAYS
# Defines the connection timeout in seconds.
# Defaults to `20`.
#
connectTimeout: 20
# Defines the read timeout in seconds.
# Defaults to `60`.
#
readTimeout: 60
# Additional properties used when evaluating templates.
#
extraProperties:
# Key will be capitalized and prefixed with `zulip`, i.e, `zulipFoo`.
foo: bar
# The Zulip account (typically an email address) to use.
#
account: announce-bot@my.zulipchat.com
# The Zulip server endpoint.
#
apiHost: https://my.zulipchat.com/api/v1
# The ApiKey associated with the given account.
#
apiKey: __USE_ENVIRONMENT_VARIABLE__
# The channel where the message will be sent to
# Defaults to `announce`.
#
channel: announce
# The message's subject.
# Review the available Name Templates.
#
subject: '{{projectNameCapitalized}} {{projectVersion}} released!'
# The announcement message.
# Review the available Name Templates.
#
message: 'π {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}'
# Path to a template file that contains the message.
# Review the available Name Templates.
# Defaults to `src/jreleaser/templates/zulip.tpl`.
#
messageTemplate: path/to/template/zulip.tpl
yaml
# [announce.zulip] # Enables or disables Zulip. # Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`]. # Defaults to `NEVER`. # active = "ALWAYS" # Defines the connection timeout in seconds. # Defaults to `20`. # connectTimeout = 20 # Defines the read timeout in seconds. # Defaults to `60`. # readTimeout = 60 # Additional properties used when evaluating templates. # extraProperties.foo = "bar" # Key will be capitalized and prefixed with `zulip`, i.e, `zulipFoo`. # The Zulip account (typically an email address) to use. # account = "announce-bot@my.zulipchat.com" # The Zulip server endpoint. # apiHost = "https://my.zulipchat.com/api/v1" # The ApiKey associated with the given account. # apiKey = "__USE_ENVIRONMENT_VARIABLE__" # The channel where the message will be sent to # Defaults to `announce`. # channel = "announce" # The message's subject. # Review the available Name Templates. # subject = "{{projectNameCapitalized}} {{projectVersion}} released!" # The announcement message. # Review the available Name Templates. # message = "π {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}" # Path to a template file that contains the message. # Review the available Name Templates. # Defaults to `src/jreleaser/templates/zulip.tpl`. # messageTemplate = "path/to/template/zulip.tpl"
toml
{
//
"announce": {
//
"zulip": {
// Enables or disables Zulip.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
"active": "ALWAYS",
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
"connectTimeout": 20,
// Defines the read timeout in seconds.
// Defaults to `60`.
//
"readTimeout": 60,
// Additional properties used when evaluating templates.
//
"extraProperties": {
// Key will be capitalized and prefixed with `zulip`, i.e, `zulipFoo`.
"foo": "bar"
},
// The Zulip account (typically an email address) to use.
//
"account": "announce-bot@my.zulipchat.com",
// The Zulip server endpoint.
//
"apiHost": "https://my.zulipchat.com/api/v1",
// The ApiKey associated with the given account.
//
"apiKey": "__USE_ENVIRONMENT_VARIABLE__",
// The channel where the message will be sent to
// Defaults to `announce`.
//
"channel": "announce",
// The message's subject.
// Review the available Name Templates.
//
"subject": "{{projectNameCapitalized}} {{projectVersion}} released!",
// The announcement message.
// Review the available Name Templates.
//
"message": "π {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}",
// Path to a template file that contains the message.
// Review the available Name Templates.
// Defaults to `src/jreleaser/templates/zulip.tpl`.
//
"messageTemplate": "path/to/template/zulip.tpl"
}
}
}
json
<jreleaser>
<!--
-->
<announce>
<!--
-->
<zulip>
<!--
Enables or disables Zulip.
Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
Defaults to `NEVER`.
-->
<active>ALWAYS</active>
<!--
Defines the connection timeout in seconds.
Defaults to `20`.
-->
<connectTimeout>20</connectTimeout>
<!--
Defines the read timeout in seconds.
Defaults to `60`.
-->
<readTimeout>60</readTimeout>
<!--
Additional properties used when evaluating templates.
-->
<extraProperties>
<!--
Key will be capitalized and prefixed with `zulip`, i.e, `zulipFoo`.
-->
<foo>bar</foo>
</extraProperties>
<!--
The Zulip account (typically an email address) to use.
-->
<account>announce-bot@my.zulipchat.com</account>
<!--
The Zulip server endpoint.
-->
<apiHost>https://my.zulipchat.com/api/v1</apiHost>
<!--
The ApiKey associated with the given account.
-->
<apiKey>__USE_ENVIRONMENT_VARIABLE__</apiKey>
<!--
The channel where the message will be sent to
Defaults to `announce`.
-->
<channel>announce</channel>
<!--
The message's subject.
Review the available Name Templates.
-->
<subject>{{projectNameCapitalized}} {{projectVersion}} released!</subject>
<!--
The announcement message.
Review the available Name Templates.
-->
<message>π {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}</message>
<!--
Path to a template file that contains the message.
Review the available Name Templates.
Defaults to `src/jreleaser/templates/zulip.tpl`.
-->
<messageTemplate>path/to/template/zulip.tpl</messageTemplate>
</zulip>
</announce>
</jreleaser>
xml
jreleaser {
//
announce {
//
zulip {
// Enables or disables Zulip.
// Supported values are [`NEVER`, `ALWAYS`, `RELEASE`, `SNAPSHOT`].
// Defaults to `NEVER`.
//
active = 'ALWAYS'
// Defines the connection timeout in seconds.
// Defaults to `20`.
//
connectTimeout = 20
// Defines the read timeout in seconds.
// Defaults to `60`.
//
readTimeout = 60
// Additional properties used when evaluating templates.
// Key will be capitalized and prefixed with `zulip`, i.e, `zulipFoo`.
//
extraProperties.put('foo', 'bar')
// The Zulip account (typically an email address) to use.
//
account = 'announce-bot@my.zulipchat.com'
// The Zulip server endpoint.
//
apiHost = 'https://my.zulipchat.com/api/v1'
// The ApiKey associated with the given account.
//
apiKey = '__USE_ENVIRONMENT_VARIABLE__'
// The channel where the message will be sent to
// Defaults to `announce`.
//
channel = 'announce'
// The message's subject.
// Review the available Name Templates.
//
subject = '{{projectNameCapitalized}} {{projectVersion}} released!'
// The announcement message.
// Review the available Name Templates.
//
message = 'π {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}'
// Path to a template file that contains the message.
// Review the available Name Templates.
// Defaults to `src/jreleaser/templates/zulip.tpl`.
//
messageTemplate = 'path/to/template/zulip.tpl'
}
}
}
groovy
You may define either message
or messageTemplate
, with the former taking precedence over the latter.
Environment
When not explicitly set, the value of the following properties may be resolved from an environment variable or a system property as shown in the table. The system property takes precedence over the environment variable.
System Property | Environment Variable |
---|---|
active |
|
jreleaser.announce.zulip.active |
JRELEASER_ANNOUNCE_ZULIP_ACTIVE |
account |
|
jreleaser.announce.zulip.account |
JRELEASER_ANNOUNCE_ZULIP_ACCOUNT |
apiKey |
|
jreleaser.announce.zulip.api.key |
JRELEASER_ANNOUNCE_ZULIP_API_KEY |
apiHost |
|
jreleaser.announce.zulip.api.host |
JRELEASER_ANNOUNCE_ZULIP_API_HOST |