Liking cljdoc? Tell your friends :D

hive.connectors.github

GitHub connector implementing IConnector protocol.

Uses the official Java SDK (kohsuke/github-api) for:

  • Issue management (CRUD, comments, labels)
  • Pull request operations (list, comment, review status)
  • Webhook handling for real-time events
  • OAuth/PAT authentication
GitHub connector implementing IConnector protocol.

Uses the official Java SDK (kohsuke/github-api) for:
- Issue management (CRUD, comments, labels)
- Pull request operations (list, comment, review status)
- Webhook handling for real-time events
- OAuth/PAT authentication
raw docstring

close-issue!clj

(close-issue! client repo number)

Close an issue.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue number

Returns: {:ok true} on success {:ok false :error "..."} on failure

Close an issue.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue number

Returns:
  {:ok true} on success
  {:ok false :error "..."} on failure
sourceraw docstring

comment-on-issue!clj

(comment-on-issue! client repo number body)

Add a comment to an issue or pull request.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue/PR number body - Comment body (markdown)

Returns: {:ok true :id N} on success {:ok false :error "..."} on failure

Add a comment to an issue or pull request.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue/PR number
  body   - Comment body (markdown)

Returns:
  {:ok true :id N} on success
  {:ok false :error "..."} on failure
sourceraw docstring

comment-on-pr!clj

(comment-on-pr! client repo number body)

Add a comment to a pull request (alias for comment-on-issue!).

Add a comment to a pull request (alias for comment-on-issue!).
sourceraw docstring

create-clientclj

(create-client token)

Create a GitHub client authenticated with a personal access token.

Args: token - GitHub PAT (ghp_...) with appropriate scopes

Returns: GitHub client instance

Create a GitHub client authenticated with a personal access token.

Args:
  token - GitHub PAT (ghp_...) with appropriate scopes

Returns:
  GitHub client instance
sourceraw docstring

create-client-from-envclj

(create-client-from-env)

Create a GitHub client using GITHUB_TOKEN environment variable.

Create a GitHub client using GITHUB_TOKEN environment variable.
sourceraw docstring

create-issue!clj

(create-issue! client repo title body)
(create-issue! client repo title body {:keys [labels assignees]})

Create a new issue in a repository.

Args: client - GitHub client repo - Repository in "owner/repo" format title - Issue title body - Issue body (markdown) opts - Optional map with :labels and :assignees

Returns: {:ok true :number N :url "..."} on success {:ok false :error "..."} on failure

Create a new issue in a repository.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  title  - Issue title
  body   - Issue body (markdown)
  opts   - Optional map with :labels and :assignees

Returns:
  {:ok true :number N :url "..."} on success
  {:ok false :error "..."} on failure
sourceraw docstring

format-hivemind-eventclj

(format-hivemind-event {:keys [a e m]})

Format a hivemind event for GitHub markdown.

Event map keys: :a - agent ID :e - event type (started, progress, completed, error, blocked) :m - message content

Returns formatted markdown string.

Format a hivemind event for GitHub markdown.

Event map keys:
  :a - agent ID
  :e - event type (started, progress, completed, error, blocked)
  :m - message content

Returns formatted markdown string.
sourceraw docstring

get-issueclj

(get-issue client repo number)

Get a single issue by number.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue number

Returns: Issue map or nil if not found

Get a single issue by number.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue number

Returns:
  Issue map or nil if not found
sourceraw docstring

get-pull-requestclj

(get-pull-request client repo number)

Get a single pull request by number.

Args: client - GitHub client repo - Repository in "owner/repo" format number - PR number

Returns: PR map or nil if not found

Get a single pull request by number.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - PR number

Returns:
  PR map or nil if not found
sourceraw docstring

get-repoclj

(get-repo client repo)

Get a repository by owner/name.

Args: client - GitHub client repo - Repository in "owner/repo" format

Returns: GHRepository instance

Get a repository by owner/name.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format

Returns:
  GHRepository instance
sourceraw docstring

list-issuesclj

(list-issues client repo)
(list-issues client
             repo
             {:keys [state labels limit] :or {state :open limit 100}})

List issues in a repository.

Args: client - GitHub client repo - Repository in "owner/repo" format opts - Optional map with :state (:open, :closed, :all), :labels, :limit

Returns: Sequence of issue maps

List issues in a repository.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  opts   - Optional map with :state (:open, :closed, :all), :labels, :limit

Returns:
  Sequence of issue maps
sourceraw docstring

list-pr-filesclj

(list-pr-files client repo number)

List files changed in a pull request.

Args: client - GitHub client repo - Repository in "owner/repo" format number - PR number

Returns: Sequence of file change maps

List files changed in a pull request.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - PR number

Returns:
  Sequence of file change maps
sourceraw docstring

list-pr-reviewsclj

(list-pr-reviews client repo number)

List reviews on a pull request.

Args: client - GitHub client repo - Repository in "owner/repo" format number - PR number

Returns: Sequence of review maps

List reviews on a pull request.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - PR number

Returns:
  Sequence of review maps
sourceraw docstring

list-pull-requestsclj

(list-pull-requests client repo)
(list-pull-requests client
                    repo
                    {:keys [state sort limit] :or {state :open limit 100}})

List pull requests in a repository.

Args: client - GitHub client repo - Repository in "owner/repo" format opts - Optional map with :state (:open, :closed, :all), :sort, :limit

Returns: Sequence of PR maps

List pull requests in a repository.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  opts   - Optional map with :state (:open, :closed, :all), :sort, :limit

Returns:
  Sequence of PR maps
sourceraw docstring

make-connectorclj

(make-connector)
(make-connector {:keys [token]})

Create a new GitHubConnector instance.

Args: opts - Optional map with :token

Returns: GitHubConnector record

Create a new GitHubConnector instance.

Args:
  opts - Optional map with :token

Returns:
  GitHubConnector record
sourceraw docstring

make-data-mapperclj

(make-data-mapper)

Create a new GitHubDataMapper instance.

Create a new GitHubDataMapper instance.
sourceraw docstring

make-webhook-handlerclj

(make-webhook-handler)

Create a new GitHubWebhookHandler instance.

Create a new GitHubWebhookHandler instance.
sourceraw docstring

notify-issue!clj

(notify-issue! client repo number event)

Post a formatted hivemind event as a comment on an issue/PR.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue/PR number event - Hivemind event map {:a agent-id :e event-type :m message}

Returns: Result map from comment-on-issue!

Post a formatted hivemind event as a comment on an issue/PR.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue/PR number
  event  - Hivemind event map {:a agent-id :e event-type :m message}

Returns:
  Result map from comment-on-issue!
sourceraw docstring

parse-webhook-eventclj

(parse-webhook-event event-type payload)

Parse a GitHub webhook payload into a normalized event.

Args: event-type - X-GitHub-Event header value payload - Parsed JSON payload (map)

Returns: {:event-type :issue-opened/:pr-merged/etc. :repo "owner/repo" :data {...normalized-data...} :raw payload}

Parse a GitHub webhook payload into a normalized event.

Args:
  event-type - X-GitHub-Event header value
  payload    - Parsed JSON payload (map)

Returns:
  {:event-type :issue-opened/:pr-merged/etc.
   :repo "owner/repo"
   :data {...normalized-data...}
   :raw payload}
sourceraw docstring

reopen-issue!clj

(reopen-issue! client repo number)

Reopen a closed issue.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue number

Returns: {:ok true} on success {:ok false :error "..."} on failure

Reopen a closed issue.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue number

Returns:
  {:ok true} on success
  {:ok false :error "..."} on failure
sourceraw docstring

update-issue!clj

(update-issue! client repo number {:keys [title body labels assignees]})

Update an existing issue.

Args: client - GitHub client repo - Repository in "owner/repo" format number - Issue number data - Map with optional :title, :body, :labels, :assignees

Returns: {:ok true} on success {:ok false :error "..."} on failure

Update an existing issue.

Args:
  client - GitHub client
  repo   - Repository in "owner/repo" format
  number - Issue number
  data   - Map with optional :title, :body, :labels, :assignees

Returns:
  {:ok true} on success
  {:ok false :error "..."} on failure
sourceraw docstring

validate-webhook-signatureclj

(validate-webhook-signature payload signature secret)

Validate GitHub webhook signature.

Args: payload - Raw request body string signature - X-Hub-Signature-256 header value (sha256=...) secret - Webhook secret configured in GitHub

Returns: true if signature is valid, false otherwise

Validate GitHub webhook signature.

Args:
  payload   - Raw request body string
  signature - X-Hub-Signature-256 header value (sha256=...)
  secret    - Webhook secret configured in GitHub

Returns:
  true if signature is valid, false otherwise
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close