You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Java版Jira REST Client API配置代理?

Java版Jira REST Client API设置代理的解决方案

核心思路

Java版Jira REST Client(JRJC)底层基于Apache HttpClient实现,因此可以通过自定义配置代理的HttpClient来创建JiraRestClient实例,绕过工厂类未提供代理设置的限制。

具体实现代码

  1. 先构建配置好代理的Apache HttpClient:
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

// 代理配置信息
String proxyHost = "你的代理服务器地址";
int proxyPort = 8080; // 替换为实际代理端口
String proxyUser = "代理用户名(无则留空)";
String proxyPass = "代理密码(无则留空)";

// 配置代理认证(如果需要)
CredentialsProvider credsProvider = new BasicCredentialsProvider();
if (proxyUser != null && !proxyUser.isEmpty()) {
    credsProvider.setCredentials(
        new AuthScope(proxyHost, proxyPort),
        new UsernamePasswordCredentials(proxyUser, proxyPass)
    );
}

// 创建带代理的HttpClient
CloseableHttpClient httpClient = HttpClients.custom()
    .setProxy(new HttpHost(proxyHost, proxyPort))
    .setDefaultCredentialsProvider(credsProvider)
    .build();
  1. 基于自定义HttpClient创建JiraRestClient:
import com.atlassian.jira.rest.client.api.JiraRestClient;
import com.atlassian.jira.rest.client.auth.BasicAuthenticationHandler;
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClient;
import com.atlassian.jira.rest.client.internal.async.DefaultHttpClientRequestFactory;
import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

// Jira认证信息
String jiraUsername = "你的Jira账号";
String jiraPassword = "你的Jira密码";
String jiraUrl = "https://你的Jira实例地址";

// 生成Base64认证串
String authStr = Base64.getEncoder().encodeToString(
    (jiraUsername + ":" + jiraPassword).getBytes(StandardCharsets.UTF_8)
);
BasicAuthenticationHandler authHandler = new BasicAuthenticationHandler(authStr);

// 创建JiraRestClient实例
URI jiraUri = URI.create(jiraUrl);
JiraRestClient jiraRestClient = new AsynchronousJiraRestClient(
    jiraUri,
    authHandler,
    httpClient,
    new DefaultHttpClientRequestFactory()
);

注意事项

  • 若代理无需认证,可直接跳过CredentialsProvider的配置步骤。
  • 使用完JiraRestClient后,务必调用jiraRestClient.close()关闭客户端,释放HTTP连接资源。
  • 确保项目依赖中包含Apache HttpClient相关包(JRJC通常会间接引入,若出现版本冲突需手动调整依赖版本)。

内容的提问来源于stack exchange,提问作者Chavjoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:35:29