C# Jenkins在C中创建项目时返回(403)禁止#
我正在尝试使用Jenkins API创建一个任务。 用户有权限,但没有办法。 抛出的错误是403C# Jenkins在C中创建项目时返回(403)禁止#,c#,jenkins,C#,Jenkins,我正在尝试使用Jenkins API创建一个任务。 用户有权限,但没有办法。 抛出的错误是403 public void CreateJobWihtXmlTemplateAndRazorRemplaceWhitAutoritazion() { var configData = File.ReadAllText(configCobol); byte[] credentialBuffer = new UTF8Encoding().GetBytes("user" + ":" +"pas
public void CreateJobWihtXmlTemplateAndRazorRemplaceWhitAutoritazion()
{
var configData = File.ReadAllText(configCobol);
byte[] credentialBuffer = new UTF8Encoding().GetBytes("user" + ":" +"pass");
var webClient = new WebClient();
webClient.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(credentialBuffer));
webClient.UseDefaultCredentials = true;
webClient.Proxy.Credentials = CredentialCache.DefaultCredentials;
var jenkinsJobData = FactoryDataProvider.CreateJenkinsJobData();
var result = Razor.Parse(configData, jenkinsJobData);
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(result);
const string FORMAT = "http://{0}:{1}/createItem?name={2}";
var path =
string.Format(
FORMAT,
"someserver.example.com",
"8080",
jenkinsJobData.ProjectName);
webClient.Headers["content-type"] = " application/xml";
string response = webClient.UploadString(
path,
"POST",
result
);
Assert.AreEqual(HttpStatusCode.OK, HttpStatusCode.OK);
}
取消选中“防止跨站点请求伪造漏洞攻击”
用户拥有权限
用户显然没有正确的权限,这就是您获得403的原因。该用户是管理员,或者是以其他方式授予api权限的?授权头的第二个组件似乎是密码。您是否为该帐户创建了API令牌?上次我为Jenkins编写API客户端时,我使用了API令牌。请尝试使用令牌,但给出401。我正在使用LDAP用户,这就是问题所在。