Bluesky

Posts a status to a Bluesky server. We recommend the use of dedicated App Passwords instead of using your personal password.

Configuration

Legend:

  • required

  • optional

  • may use environment variable

  • accepts Name Templates

  • YAML

  • TOML

  • JSON

  • Maven

  • Gradle

# 
announce:
  # 
  bluesky:
    # Enables or disables Bluesky.
    # 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 `bluesky`, i.e, `blueskyFoo`.
      foo: bar

    # The Bluesky server.
    #  
    host: https://bsky.social

    # The handle to use. (ex. example.bsky.social)
    #  
    handle: __USE_ENVIRONMENT_VARIABLE__

    # The password to use.
    #  
    password: __USE_ENVIRONMENT_VARIABLE__

    # The announcement message.
    # Review the available Name Templates.
    #  
    status: '🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}'

    # The announcement messages.
    # Review the available Name Templates.
    #  
    statuses:
      - '🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}'
      - 'New and exciting features added to {{projectNameCapitalized}} {{projectVersion}}'
# 
[announce.bluesky]
  # Enables or disables Bluesky.
  # 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 `bluesky`, i.e, `blueskyFoo`.

  # The bluesky server.
  #  
  host = "https://bsky.social"

  # The handle to use. (ex. example.bsky.social)
  #  
  handle = "__USE_ENVIRONMENT_VARIABLE__"

  # The password to use.
  #  
  password = "__USE_ENVIRONMENT_VARIABLE__"

  # The announcement message.
  # Review the available Name Templates.
  #  
  status = "🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}"

  # The announcement message.
  # Review the available Name Templates.
  #  
  statuses = ["🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}", "New and exciting featurer added to {{projectNameCapitalized}} {{projectVersion}}"]
{
  // 
  "announce": {
    // 
    "bluesky": {
      // Enables or disables Bluesky.
      // 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 `bluesky`, i.e, `blueskyFoo`.
        "foo": "bar"
      },

      // The Bluesky server.
      //  
      "host": "https://bsky.social",

      // The handle to use. (ex. example.bsky.social)
      //  
      "handle": "__USE_ENVIRONMENT_VARIABLE__",

      // The password to use.
      //  
      "password": "__USE_ENVIRONMENT_VARIABLE__",

      // The announcement message.
      // Review the available Name Templates.
      //  
      "status": "🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}"

      // The announcement message.
      // Review the available Name Templates.
      //  
      "statuses": [
        "🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}",
        "New and exciting featurer added to {{projectNameCapitalized}} {{projectVersion}}"
      ]

    }
  }
}
<jreleaser>
  <!--
    
  -->
  <announce>
    <!--
      
    -->
    <bluesky>
      <!--
        Enables or disables Bluesky.
        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 `bluesky`, i.e, `blueskyFoo`.
        -->
        <foo>bar</foo>
      </extraProperties>

      <!--
        The Bluesky server.
         
      -->
      <host>https://bsky.social</host>

      <!--
        The handle to use. (ex. example.bsky.social)
         
      -->
      <handle>__USE_ENVIRONMENT_VARIABLE__</handle>

      <!--
        The password to use.
         
      -->
      <password>__USE_ENVIRONMENT_VARIABLE__</password>

      <!--
        The announcement message.
        Review the available Name Templates.
         
      -->
      <status>🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}</status>

      <!--
        The announcement message.
        Review the available Name Templates.
         
      -->
      <statuses>
        <status>🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}</status>
        <status>New and exciting featurer added to {{projectNameCapitalized}} {{projectVersion}}</status>
      </statuses>

    </bluesky>
  </announce>
</jreleaser>
jreleaser {
  // 
  announce {
    // 
    bluesky {
      // Enables or disables Bluesky.
      // 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 `bluesky`, i.e, `blueskyFoo`.
      //  
      extraProperties.put('foo', 'bar')

      // The Bluesky server.
      //  
      host = 'https://bsky.social'

      // The handle to use.
      //  
      handle = '__USE_ENVIRONMENT_VARIABLE__'

      // The password to use.
      //  
      password = '__USE_ENVIRONMENT_VARIABLE__'

      // The announcement message.
      // Review the available Name Templates.
      //  
      status = '🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}'

      // The announcement message.
      // Review the available Name Templates.
      //  
      statuses = [
        '🚀 {{projectNameCapitalized}} {{projectVersion}} has been released! {{releaseNotesUrl}}',
        'New and exciting featurer added to {{projectNameCapitalized}} {{projectVersion}}'
      ]

    }
  }
}

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.bluesky.active

JRELEASER_ANNOUNCE_BLUESKY_ACTIVE

host

jreleaser.announce.bluesky.host
jreleaser.bluesky.host

JRELEASER_ANNOUNCE_BLUESKY_HOST
JRELEASER_BLUESKY_HOST

handle

jreleaser.announce.bluesky.handle
jreleaser.bluesky.handle

JRELEASER_ANNOUNCE_BLUESKY_HANDLE
JRELEASER_BLUESKY_HANDLE

password

jreleaser.announce.bluesky.password
jreleaser.bluesky.password

JRELEASER_ANNOUNCE_BLUESKY_PASSWORD
JRELEASER_BLUESKY_PASSWORD