Este conteúdo não está disponível no idioma selecionado.

Chapter 60. Hipchat


Hipchat component

Available as of Camel 2.15.0
The Hipchat component supports producing and consuming messages from/to Hipchat service.
You must have a valid Hipchat user account and get a personal access token that you can use to produce/consume messages.

URI Format

hipchat://[host][:port]?options
You can append query options to the URI in the following format, ?options=value&option2=value&...

URI Options

Name
Default Value
Context
Required Producer/Consumer
Description
authToken
null
Shared
Yes Both Authorization token(personal access token) obtained from Hipchat
protocol
http
Shared
No Both
Default protocol to connect to the Hipchat server
consumeUsers
null
Shared
No Consumer
Comma separated list of user @Mentions or emails whose messages to the owner of authToken must be consumed
host api.hipchat.com Shared No Both The API host of the Hipchat to connect to
port 80 Shared No Both The port to connect to on the Hipchat host
delay 5000 Shared No Consumer The poll interval in millisec for consuming messages from consumeUsers provided. Please read about rate limits before decreasing this.

Scheduled Poll Consumer

This component implements the ScheduledPollConsumer. Only the last message from the provided 'consumeUsers' are retrieved and sent as Exchange body. If you do not want the same message to be retrieved again when there are no new messages on next poll then you can add the idempotent consumer as shown below. All the options on the ScheduledPollConsumer can also be used for more control on the consumer.
@Override
public void configure() throws Exception {
 String hipchatEndpointUri = "hipchat://?authToken=XXXX&consumeUsers=@Joe,@John";
 from(hipchatEndpointUri)
  .idempotentConsumer(
    simple("${in.header.HipchatMessageDate} ${in.header.HipchatFromUser}"),
    MemoryIdempotentRepository.memoryIdempotentRepository(200)
  )
  .to("mock:result");
}

Message headers set by the Hipchat consumer

Header
Constant
Type
Description
HipchatFromUser HipchatConstants.FROM_USER String The body has the message that was sent from this user to the owner of authToken
HipchatMessageDate HipchatConstants.MESSAGE_DATE String The date message was sent. The format is ISO-8601 as present in the Hipchat response.
HipchatFromUserResponseStatus HipchatConstants.FROM_USER_RESPONSE_STATUS StatusLine The status of the API response received.

Hipchat Producer

Producer can send messages to both Room's and User's simultaneously. The body of the exchange is sent as message. Sample usage is shown below. Appropriate headers needs to be set.
@Override
 public void configure() throws Exception {
  String hipchatEndpointUri = "hipchat://?authToken=XXXX";
  from("direct:start")
   .to(hipchatEndpointUri)
   .to("mock:result");
 }

Message headers evaluated by the Hipchat producer

Header
Constant
Type
Description
HipchatToUser HipchatConstants.TO_USER String The Hipchat user to which the message needs to be sent.
HipchatToRoom HipchatConstants.TO_ROOM String The Hipchat room to which the message needs to be sent.
HipchatMessageFormat HipchatConstants.MESSAGE_FORMAT String Valid formats are 'text' or 'html'. Default: 'text'
HipchatMessageBackgroundColor HipchatConstants.MESSAGE_BACKGROUND_COLOR String Valid color values are 'yellow', 'green', 'red', 'purple', 'gray', 'random'. Default: 'yellow' (Room Only)
HipchatTriggerNotification HipchatConstants.TRIGGER_NOTIFY String Valid values are 'true' or 'false'. Whether this message should trigger a user notification (change the tab color, play a sound, notify mobile phones, etc). Default: 'false' (Room Only)

Message headers set by the Hipchat producer

Header
Constant
Type
Description
HipchatToUserResponseStatus HipchatConstants.TO_USER_RESPONSE_STATUS StatusLine The status of the API response received when message sent to the user.
HipchatFromUserResponseStatus HipchatConstants.TO_ROOM_RESPONSE_STATUS StatusLine The status of the API response received when message sent to the room.

Dependencies

Maven users will need to add the following dependency to their pom.xml.
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-hipchat</artifactId>
    <version>${camel-version}</version>
</dependency>
where ${camel-version} must be replaced by the actual version of Camel (2.15.0 or higher)
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.