Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. public class JIRA
  2. {
  3. private string AuthToken { get; set; }
  4.  
  5. private const string c_JIRAUrl = "https://org.atlassian.net";
  6.  
  7. private const string c_LoginUrl = c_JIRAUrl + "/rest/auth/1/session";
  8. private const string c_CreateVersionUrl = c_JIRAUrl + "/rest/api/2/version";
  9.  
  10.  
  11. public JIRA()
  12. {
  13.  
  14. //this works...
  15. var authResponse = ExecuteRequest(c_LoginUrl, "POST", new
  16. {
  17. username = "login",
  18. password = "password"
  19. });
  20.  
  21. AuthToken = authResponse["session"]["value"].ToString();
  22.  
  23. }
  24.  
  25. public void CreateVersion(string name, string projectKey, ProjectEnvironment environment)
  26. {
  27. //lets hardcode the same data I use in Postman for testing purposes...
  28. var createVersionResponse = ExecuteRequest(c_CreateVersionUrl, "POST", new
  29. {
  30. description = "An excellent version",
  31. name = "1.1.2",
  32. archived = false,
  33. released = false,
  34. project = "TEST"
  35. });
  36.  
  37. }
  38.  
  39. private JObject ExecuteRequest(string url, string method, object data)
  40. {
  41. HttpWebResponse response;
  42. var jsonDataString = JsonConvert.SerializeObject(data);
  43. byte[] dataBytes = Encoding.Default.GetBytes(jsonDataString);
  44. var responseText = string.Empty;
  45.  
  46. var wr = (HttpWebRequest)WebRequest.Create(url);
  47. wr.ContentType = "application/json";
  48. if (!string.IsNullOrEmpty(AuthToken))
  49. wr.Headers.Add(HttpRequestHeader.Authorization, $"Bearer {AuthToken}");
  50. wr.Method = method;
  51. wr.ContentLength = dataBytes.Length;
  52. wr.Accept = "application/json";
  53.  
  54. using (var webStream = wr.GetRequestStream())
  55. {
  56. webStream.Write(dataBytes, 0, dataBytes.Length);
  57. response = (HttpWebResponse)wr.GetResponse();
  58. }
  59.  
  60. using (var sr = new StreamReader(response.GetResponseStream()))
  61. {
  62. responseText = sr.ReadToEnd();
  63. }
  64.  
  65. return JObject.Parse(responseText);
  66. }
  67.  
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement