CanineHQ/canine · error · Git::Client::Error

Failed to fetch commits: #{response.body}

Error message

Failed to fetch commits: #{response.body}

What it means

Error "Failed to fetch commits: #{response.body}" thrown in CanineHQ/canine.

Source

Thrown at app/services/git/gitlab/client.rb:77

      @web_url = data["web_url"]
    end
  end

  def gitlab_api_base
    "#{@api_base_url}/api/v4"
  end

  def repository_exists?
    repository.present?
  end

  def commits(branch)
    response = HTTParty.get(
      "#{gitlab_api_base}/projects/#{encoded_url}/repository/commits?ref=#{branch}",
      headers: { "Authorization" => "Bearer #{access_token}" }
    )
    unless response.success?
      raise Git::Client::Error, "Failed to fetch commits: #{response.body}"
    end

    response.map do |commit|
      Git::Common::Commit.new(
        sha: commit["id"],
        message: commit["message"],
        author_name: commit["author_name"],
        author_email: commit["author_email"],
        authored_at: DateTime.parse(commit["authored_date"]),
        committer_name: commit["committer_name"],
        committer_email: commit["committer_email"],
        committed_at: DateTime.parse(commit["committed_date"]),
        url: commit["web_url"]
      )
    end
  end

  def can_write_webhooks?

View on GitHub (pinned to ba4ee3968d)

When it happens

Trigger: Thrown at app/services/git/gitlab/client.rb:77 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23). Data as JSON: /api/errors/619cb6f2e8e03851. Report an issue: GitHub.