/// <summary>
    /// Issues a Jira web request
    /// </summary>
    HttpWebResponse JiraRequest( string RequestUrl, JiraMethod Method, object Input )
    {
        // Get the username and password
        string UserName, Password;
        if( Credentials.TryGetValue( "jira.username", out UserName ) && Credentials.TryGetValue( "jira.password", out Password ) )
        {
            // Send the request
            HttpWebRequest Request = (HttpWebRequest)WebRequest.Create( "https://jira.ol.epicgames.net/rest/api/2" + RequestUrl );
            Request.Method = Enum.GetName( typeof( JiraMethod ), Method );
            Request.Headers.Add( "Authorization", "Basic " + Convert.ToBase64String( UTF8Encoding.UTF8.GetBytes( UserName + ":" + Password ) ) );
            Request.ContentType = "application/json";
            if( Input != null )
            {
                using( StreamWriter RequestWriter = new StreamWriter( Request.GetRequestStream(), Encoding.ASCII ) )
                {
                    JavaScriptSerializer Serializer = new JavaScriptSerializer();
                    RequestWriter.Write( Serializer.Serialize( Input ) );
                }
            }

            // Check the response was ok
            return (HttpWebResponse)Request.GetResponse();
        }
        else
        {
            return null;
        }
    }
 /// <summary>
 /// Issues a Jira web request
 /// </summary>
 public HttpWebResponse JiraRequest( string RequestUrl, JiraMethod Method, object Input, HttpStatusCode ExpectedStatus )
 {
     HttpWebResponse Response = JiraRequest( RequestUrl, Method, Input );
     if( Response.StatusCode != ExpectedStatus )
     {
         return null;
     }
     return Response;
 }