Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 58. GitHub
GitHub component 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Available as of Camel 2.15
The GitHub component interacts with the GitHub API by encapsulating egit-github. It currently provides polling for new pull requests, pull request comments, tags, and commits. It is also able to produce comments on pull requests, as well as close the pull request entirely.
Rather than webhooks, this endpoint relies on simple polling. Reasons include:
- Concern for reliability/stability
- The types of payloads we're polling aren't typically large (plus, paging is available in the API)
- The need to support apps running somewhere not publicly accessible where a webhook would fail
Note that the GitHub API is fairly expansive. Therefore, this component could be easily expanded to provide additional interactions.
Maven users will need to add the following dependency to their pom.xml for this component:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-github</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-github</artifactId>
<version>${camel-version}</version>
</dependency>
URI format 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
github://endpoint[?options]
github://endpoint[?options]
Mandatory Options: 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Note that these can be configured directly through the endpoint.
Option
|
Description
|
---|---|
username
|
GitHub username, required unless
oauthToken is provided.
|
password
|
GitHub password, required unless
oauthToken is provided.
|
oauthToken
|
GitHub OAuth token, required unless
username and password are provided.
|
repoOwner
|
GitHub repository owner (organization).
|
repoName
|
GitHub repository name. |
Consumer Endpoints: 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Endpoint
|
Context
|
Body Type
|
---|---|---|
pullRequest
|
polling
|
org.eclipse.egit.github.core.PullRequest
|
pullRequestComment
|
polling
|
org.eclipse.egit.github.core.Comment (comment on the general pull request discussion) or org.eclipse.egit.github.core.CommitComment (inline comment on a pull request diff)
|
tag
|
polling
|
org.eclipse.egit.github.core.RepositoryTag
|
commit
|
polling
|
org.eclipse.egit.github.core.RepositoryCommit
|
Producer Endpoints: 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Endpoint
|
Body
| Message Headers |
---|---|---|
pullRequestComment
|
String (comment text)
|
|
closePullRequest
|
none
|
|
URI Options 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
Name
|
Default Value
|
Description
|
---|---|---|
delay
|
60
|
In seconds
|