From a3f3c20d7143ca61df357c6fca5a222383cb9518 Mon Sep 17 00:00:00 2001 From: Robin Date: Tue, 16 Aug 2016 16:53:37 +0200 Subject: [PATCH] Work in progress for the Jira backport. [skip ci] --- GreenshotJiraPlugin/Forms/JiraForm.cs | 136 +- .../GreenshotJiraPlugin.csproj | 51 +- GreenshotJiraPlugin/Jira.cs | 413 -- GreenshotJiraPlugin/JiraConfiguration.cs | 5 +- GreenshotJiraPlugin/JiraConnector.cs | 181 + GreenshotJiraPlugin/JiraDestination.cs | 64 +- GreenshotJiraPlugin/JiraPlugin.cs | 35 +- GreenshotJiraPlugin/JiraUtils.cs | 19 +- .../Web References/JiraSoap/Reference.cs | 3721 ----------------- GreenshotJiraPlugin/packages.config | 7 + GreenshotPlugin/Controls/PleaseWaitForm.cs | 46 +- GreenshotPlugin/Core/NetworkHelper.cs | 14 +- 12 files changed, 402 insertions(+), 4290 deletions(-) delete mode 100644 GreenshotJiraPlugin/Jira.cs create mode 100644 GreenshotJiraPlugin/JiraConnector.cs delete mode 100644 GreenshotJiraPlugin/Web References/JiraSoap/Reference.cs create mode 100644 GreenshotJiraPlugin/packages.config diff --git a/GreenshotJiraPlugin/Forms/JiraForm.cs b/GreenshotJiraPlugin/Forms/JiraForm.cs index bb6ab54eb..56cf7a3e9 100644 --- a/GreenshotJiraPlugin/Forms/JiraForm.cs +++ b/GreenshotJiraPlugin/Forms/JiraForm.cs @@ -22,14 +22,19 @@ using System; using System.Globalization; using System.Windows.Forms; +using Dapplo.Jira.Entities; using Greenshot.IniFile; using GreenshotPlugin.Controls; using GreenshotPlugin.Core; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; namespace GreenshotJiraPlugin.Forms { public partial class JiraForm : Form { + private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(JiraForm)); private readonly JiraConnector _jiraConnector; - private JiraIssue _selectedIssue; + private Issue _selectedIssue; private readonly GreenshotColumnSorter _columnSorter; private readonly JiraConfiguration _config = IniConfig.GetIniSection(); @@ -47,15 +52,46 @@ namespace GreenshotJiraPlugin.Forms { _jiraConnector = jiraConnector; ChangeModus(false); - try { - if (!jiraConnector.IsLoggedIn) { - jiraConnector.Login(); + + uploadButton.Enabled = false; + Load += OnLoad; + } + + private async void OnLoad(object sender, EventArgs eventArgs) + { + try + { + if (!_jiraConnector.IsLoggedIn) + { + await _jiraConnector.Login(); } - } catch (Exception e) { + } + catch (Exception e) + { MessageBox.Show(Language.GetFormattedString("jira", LangKey.login_error, e.Message)); } - uploadButton.Enabled = false; - UpdateForm(); + if (_jiraConnector.IsLoggedIn) + { + var filters = await _jiraConnector.GetFavoriteFiltersAsync(); + if (filters.Count > 0) + { + foreach (var filter in filters) + { + jiraFilterBox.Items.Add(filter); + } + jiraFilterBox.SelectedIndex = 0; + } + ChangeModus(true); + if (_config.LastUsedJira != null) + { + _selectedIssue = await _jiraConnector.GetIssueAsync(_config.LastUsedJira); + if (_selectedIssue != null) + { + jiraKey.Text = _config.LastUsedJira; + uploadButton.Enabled = true; + } + } + } } private void InitializeComponentText() { @@ -64,26 +100,6 @@ namespace GreenshotJiraPlugin.Forms { label_filename.Text = Language.GetString("jira", LangKey.label_filename); } - private void UpdateForm() { - if (_jiraConnector.IsLoggedIn) { - JiraFilter[] filters = _jiraConnector.GetFilters(); - if (filters.Length > 0) { - foreach (JiraFilter filter in filters) { - jiraFilterBox.Items.Add(filter); - } - jiraFilterBox.SelectedIndex = 0; - } - ChangeModus(true); - if (_config.LastUsedJira != null) { - _selectedIssue = _jiraConnector.GetIssue(_config.LastUsedJira); - if (_selectedIssue != null) { - jiraKey.Text = _config.LastUsedJira; - uploadButton.Enabled = true; - } - } - } - } - private void ChangeModus(bool enabled) { jiraFilterBox.Enabled = enabled; jiraListView.Enabled = enabled; @@ -99,59 +115,67 @@ namespace GreenshotJiraPlugin.Forms { jiraCommentBox.Text = comment; } - public JiraIssue GetJiraIssue() { + public Issue GetJiraIssue() { return _selectedIssue; } - public void Upload(IBinaryContainer attachment) { + public async Task UploadAsync(IBinaryContainer attachment) { _config.LastUsedJira = _selectedIssue.Key; - _jiraConnector.AddAttachment(_selectedIssue.Key, jiraFilenameBox.Text, attachment); - if (!string.IsNullOrEmpty(jiraCommentBox.Text)) { - _jiraConnector.AddComment(_selectedIssue.Key, jiraCommentBox.Text); + using (var memoryStream = new MemoryStream()) + { + attachment.WriteToStream(memoryStream); + memoryStream.Seek(0, SeekOrigin.Begin); + await _jiraConnector.AttachAsync(_selectedIssue.Key, memoryStream, jiraFilenameBox.Text, attachment.ContentType); } - } - public void Logout() { - _jiraConnector.Logout(); + if (!string.IsNullOrEmpty(jiraCommentBox.Text)) { + await _jiraConnector.AddCommentAsync(_selectedIssue.Key, jiraCommentBox.Text); + } } private void selectJiraToolStripMenuItem_Click(object sender, EventArgs e) { ToolStripMenuItem clickedItem = (ToolStripMenuItem)sender; - _selectedIssue = (JiraIssue)clickedItem.Tag; + _selectedIssue = (Issue)clickedItem.Tag; jiraKey.Text = _selectedIssue.Key; } - private void jiraFilterBox_SelectedIndexChanged(object sender, EventArgs e) { + private async void jiraFilterBox_SelectedIndexChanged(object sender, EventArgs e) { if (_jiraConnector.IsLoggedIn) { - JiraIssue[] issues = null; + uploadButton.Enabled = false; - JiraFilter filter = (JiraFilter)jiraFilterBox.SelectedItem; + var filter = (Filter)jiraFilterBox.SelectedItem; if (filter == null) { return; } - // Run upload in the background - new PleaseWaitForm().ShowAndWait(JiraPlugin.Instance.JiraPluginAttributes.Name, Language.GetString("jira", LangKey.communication_wait), - delegate() { - issues = _jiraConnector.GetIssuesForFilter(filter.Id); - } - ); + IList issues = null; + try + { + var searchResult = await _jiraConnector.SearchAsync(filter.Jql); + issues = searchResult.Issues; + } + catch (Exception ex) + { + Log.Error(ex); + MessageBox.Show(this, ex.Message, "Error in filter", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + jiraListView.BeginUpdate(); jiraListView.Items.Clear(); - if (issues.Length > 0) { + if (issues?.Count > 0) { jiraListView.Columns.Clear(); LangKey[] columns = { LangKey.column_id, LangKey.column_created, LangKey.column_assignee, LangKey.column_reporter, LangKey.column_summary }; foreach (LangKey column in columns) { jiraListView.Columns.Add(Language.GetString("jira", column)); } - foreach (JiraIssue issue in issues) { - ListViewItem item = new ListViewItem(issue.Key) + foreach (var issue in issues) { + var item = new ListViewItem(issue.Key) { Tag = issue }; - item.SubItems.Add(issue.Created.Value.ToString("d", DateTimeFormatInfo.InvariantInfo)); - item.SubItems.Add(issue.Assignee); - item.SubItems.Add(issue.Reporter); - item.SubItems.Add(issue.Summary); + item.SubItems.Add(issue.Fields.Created.ToString("d", DateTimeFormatInfo.InvariantInfo)); + item.SubItems.Add(issue.Fields.Assignee?.DisplayName); + item.SubItems.Add(issue.Fields.Reporter?.DisplayName); + item.SubItems.Add(issue.Fields.Summary); jiraListView.Items.Add(item); } for (int i = 0; i < columns.Length; i++) { @@ -164,8 +188,8 @@ namespace GreenshotJiraPlugin.Forms { } private void jiraListView_SelectedIndexChanged(object sender, EventArgs e) { - if (jiraListView.SelectedItems != null && jiraListView.SelectedItems.Count > 0) { - _selectedIssue = (JiraIssue)jiraListView.SelectedItems[0].Tag; + if (jiraListView.SelectedItems.Count > 0) { + _selectedIssue = (Issue)jiraListView.SelectedItems[0].Tag; jiraKey.Text = _selectedIssue.Key; uploadButton.Enabled = true; } else { @@ -192,12 +216,12 @@ namespace GreenshotJiraPlugin.Forms { jiraListView.Sort(); } - void JiraKeyTextChanged(object sender, EventArgs e) { + private async void JiraKeyTextChanged(object sender, EventArgs e) { string jiranumber = jiraKey.Text; uploadButton.Enabled = false; int dashIndex = jiranumber.IndexOf('-'); if (dashIndex > 0 && jiranumber.Length > dashIndex+1) { - _selectedIssue = _jiraConnector.GetIssue(jiraKey.Text); + _selectedIssue = await _jiraConnector.GetIssueAsync(jiraKey.Text); if (_selectedIssue != null) { uploadButton.Enabled = true; } diff --git a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj index 0af0eaeb9..d70a3c9c4 100644 --- a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj +++ b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj @@ -6,7 +6,7 @@ Library GreenshotJiraPlugin GreenshotJiraPlugin - v2.0 + v4.5 Properties False False @@ -20,8 +20,36 @@ + + false + + + false + + + false + + + false + + + ..\packages\Dapplo.HttpExtensions.0.5.30\lib\net45\Dapplo.HttpExtensions.dll + True + + + ..\packages\Dapplo.Jira.0.1.56\lib\net45\Dapplo.Jira.dll + True + + + ..\packages\Dapplo.Log.Facade.0.5.4\lib\net45\Dapplo.Log.Facade.dll + True + + + ..\packages\Dapplo.Utils.0.1.113\lib\net45\Dapplo.Utils.dll + True + ..\Greenshot\Lib\log4net.dll @@ -47,18 +75,13 @@ SettingsForm.cs - + - - True - True - Reference.map - Always @@ -72,23 +95,12 @@ Always - - - MSDiscoCodeGenerator - Reference.cs - + JiraPlugin.cs - - - Static - http://jira/rpc/soap/jirasoapservice-v2%3fwsdl - Web References\JiraSoap - Jira - {5B924697-4DCD-4F98-85F1-105CB84B7341} GreenshotPlugin @@ -97,6 +109,7 @@ mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" +copy "$(ProjectDir)bin\$(Configuration)\Dapplo.*" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" diff --git a/GreenshotJiraPlugin/Jira.cs b/GreenshotJiraPlugin/Jira.cs deleted file mode 100644 index 8af125b17..000000000 --- a/GreenshotJiraPlugin/Jira.cs +++ /dev/null @@ -1,413 +0,0 @@ - -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2015 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -using System; -using System.Collections.Generic; -using System.Threading; -using System.Windows.Forms; -using Greenshot.IniFile; -using GreenshotJiraPlugin.Web_References.JiraSoap; -using GreenshotPlugin.Controls; -using GreenshotPlugin.Core; - -namespace GreenshotJiraPlugin { - #region transport classes - public class JiraFilter { - public JiraFilter(string name, string id) { - Name = name; - Id = id; - } - public string Name { - get; - set; - } - public string Id { - get; - set; - } - } - - public class JiraIssue { - public JiraIssue(string key, DateTime? created, string reporter, string assignee, string project, string summary, string description, string environment, string [] attachmentNames) { - Key = key; - Created = created; - Reporter = reporter; - Assignee = assignee; - Project = project; - Summary = summary; - Description = description; - Environment = environment; - AttachmentNames = attachmentNames; - } - public string Key { - get; - set; - } - public DateTime? Created { - get; - private set; - } - public string Reporter { - get; - private set; - } - public string Assignee { - get; - private set; - } - public string Project { - get; - private set; - } - public string Summary { - get; - private set; - } - public string Description { - get; - private set; - } - public string Environment { - get; - private set; - } - public string[] AttachmentNames { - get; - private set; - } - } - #endregion - - public class JiraConnector : IDisposable { - private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(JiraConnector)); - private const string AuthFailedExceptionName = "com.atlassian.jira.rpc.exception.RemoteAuthenticationException"; - private static readonly JiraConfiguration Config = IniConfig.GetIniSection(); - public const string DefaultPostfix = "/rpc/soap/jirasoapservice-v2?wsdl"; - private string _credentials; - private DateTime _loggedInTime = DateTime.Now; - private bool _loggedIn; - private JiraSoapServiceService _jira; - private readonly int _timeout; - private string _url; - private readonly Cache _jiraCache = new Cache(60 * Config.Timeout); - private readonly Cache _userCache = new Cache(60 * Config.Timeout); - private readonly bool _suppressBackgroundForm; - - public void Dispose() { - Dispose(true); - GC.SuppressFinalize(this); - } - - protected void Dispose(bool disposing) { - if (_jira != null) { - Logout(); - } - - if (disposing) { - if (_jira != null) { - _jira.Dispose(); - _jira = null; - } - } - } - - public JiraConnector() : this(false) { - } - - public JiraConnector(bool suppressBackgroundForm) { - _url = Config.Url; - _timeout = Config.Timeout; - _suppressBackgroundForm = suppressBackgroundForm; - CreateService(); - } - - private void CreateService() { - if (!_suppressBackgroundForm) { - new PleaseWaitForm().ShowAndWait(JiraPlugin.Instance.JiraPluginAttributes.Name, Language.GetString("jira", LangKey.communication_wait), - delegate { - _jira = new JiraSoapServiceService(); - } - ); - } else { - _jira = new JiraSoapServiceService(); - } - _jira.Url = _url; - _jira.Proxy = NetworkHelper.CreateProxy(new Uri(_url)); - // Do not use: - //jira.AllowAutoRedirect = true; - _jira.UserAgent = "Greenshot"; - } - - ~JiraConnector() { - Dispose(false); - } - - /// - /// Internal login which catches the exceptions - /// - /// true if login was done sucessfully - private bool DoLogin(string user, string password, bool suppressBackgroundForm) { - - // This is what needs to be done - ThreadStart jiraLogin = delegate { - Log.DebugFormat("Loggin in"); - try { - _credentials = _jira.login(user, password); - } catch (Exception) { - if (!_url.EndsWith("wsdl")) { - _url = _url + "/rpc/soap/jirasoapservice-v2?wsdl"; - // recreate the service with the new url - CreateService(); - _credentials = _jira.login(user, password); - // Worked, store the url in the configuration - Config.Url = _url; - IniConfig.Save(); - } else { - throw; - } - } - - Log.DebugFormat("Logged in"); - _loggedInTime = DateTime.Now; - _loggedIn = true; - - }; - // Here we do it - try { - if (!suppressBackgroundForm) { - new PleaseWaitForm().ShowAndWait(JiraPlugin.Instance.JiraPluginAttributes.Name, Language.GetString("jira", LangKey.communication_wait), jiraLogin); - } else { - jiraLogin.Invoke(); - } - } catch (Exception e) { - // check if auth failed - if (e.Message.Contains(AuthFailedExceptionName)) { - return false; - } - // Not an authentication issue - _loggedIn = false; - _credentials = null; - e.Data.Add("user", user); - e.Data.Add("url", _url); - throw; - } - return true; - } - - public void Login() { - Login(false); - } - public void Login(bool suppressBackgroundForm) { - Logout(); - try { - // Get the system name, so the user knows where to login to - string systemName = _url.Replace(DefaultPostfix,""); - CredentialsDialog dialog = new CredentialsDialog(systemName) - { - Name = null - }; - while (dialog.Show(dialog.Name) == DialogResult.OK) { - if (DoLogin(dialog.Name, dialog.Password, suppressBackgroundForm)) { - if (dialog.SaveChecked) { - dialog.Confirm(true); - } - return; - } - try { - dialog.Confirm(false); - } catch (ApplicationException e) { - // exception handling ... - Log.Error("Problem using the credentials dialog", e); - } - // For every windows version after XP show an incorrect password baloon - dialog.IncorrectPassword = true; - // Make sure the dialog is display, the password was false! - dialog.AlwaysDisplay = true; - } - } catch (ApplicationException e) { - // exception handling ... - Log.Error("Problem using the credentials dialog", e); - } - } - - public void Logout() { - if (_credentials != null) { - _jira.logout(_credentials); - _credentials = null; - _loggedIn = false; - } - } - - private void CheckCredentials() { - if (_loggedIn) { - if (_loggedInTime.AddMinutes(_timeout-1).CompareTo(DateTime.Now) < 0) { - Logout(); - Login(); - } - } else { - Login(); - } - } - - public bool IsLoggedIn { - get { - return _loggedIn; - } - } - - public JiraFilter[] GetFilters() { - List filters = new List(); - CheckCredentials(); - RemoteFilter[] remoteFilters = _jira.getSavedFilters(_credentials); - foreach (RemoteFilter remoteFilter in remoteFilters) { - filters.Add(new JiraFilter(remoteFilter.name, remoteFilter.id)); - } - return filters.ToArray(); - } - - private JiraIssue CreateDummyErrorIssue(Exception e) { - // Creating bogus jira to indicate a problem - return new JiraIssue("error", DateTime.Now, "error", "error", "error", e.Message, "error", "error", null); - } - - public JiraIssue GetIssue(string key) { - JiraIssue jiraIssue = null; - if (_jiraCache.Contains(key)) { - jiraIssue = _jiraCache[key]; - } - if (jiraIssue == null) { - CheckCredentials(); - try { - RemoteIssue issue = _jira.getIssue(_credentials, key); - jiraIssue = new JiraIssue(issue.key, issue.created, GetUserFullName(issue.reporter), GetUserFullName(issue.assignee), issue.project, issue.summary, issue.description, issue.environment, issue.attachmentNames); - _jiraCache.Add(key, jiraIssue); - } catch (Exception e) { - Log.Error("Problem retrieving Jira: " + key, e); - } - } - return jiraIssue; - } - - public JiraIssue[] GetIssuesForFilter(string filterId) { - List issuesToReturn = new List(); - CheckCredentials(); - try { - RemoteIssue[] issues = _jira.getIssuesFromFilter(_credentials, filterId); - - #region Username cache update - List users = new List(); - foreach (RemoteIssue issue in issues) { - if (issue.reporter != null && !HasUser(issue.reporter) && !users.Contains(issue.reporter)) { - users.Add(issue.reporter); - } - if (issue.assignee != null && !HasUser(issue.assignee) && !users.Contains(issue.assignee)) { - users.Add(issue.assignee); - } - } - int taskCount = users.Count; - if (taskCount > 0) { - ManualResetEvent doneEvent = new ManualResetEvent(false); - for (int i = 0; i < users.Count; i++) { - ThreadPool.QueueUserWorkItem(delegate(object name) { - Log.InfoFormat("Retrieving {0}", name); - GetUserFullName((string)name); - if (Interlocked.Decrement(ref taskCount) == 0) { - doneEvent.Set(); - } - }, users[i]); - } - doneEvent.WaitOne(); - } - #endregion - - foreach (RemoteIssue issue in issues) { - try { - JiraIssue jiraIssue = new JiraIssue(issue.key, issue.created, GetUserFullName(issue.reporter), GetUserFullName(issue.assignee), issue.project, issue.summary, issue.description, "", issue.attachmentNames); - issuesToReturn.Add(jiraIssue); - } catch (Exception e) { - Log.Error("Problem retrieving Jira: " + issue.key, e); - JiraIssue jiraIssue = CreateDummyErrorIssue(e); - jiraIssue.Key = issue.key; - issuesToReturn.Add(jiraIssue); - } - } - } catch (Exception e) { - Log.Error("Problem retrieving Jiras for Filter: " + filterId, e); - issuesToReturn.Add(CreateDummyErrorIssue(e)); - } - return issuesToReturn.ToArray(); ; - } - - public string GetUrl(string issueKey) { - return _url.Replace(DefaultPostfix,"") + "/browse/" + issueKey; - } - - public void AddAttachment(string issueKey, string filename, IBinaryContainer attachment) { - CheckCredentials(); - try { - _jira.addBase64EncodedAttachmentsToIssue(_credentials, issueKey, new[] { filename }, new[] { attachment.ToBase64String(Base64FormattingOptions.InsertLineBreaks) }); - } catch (Exception ex1) { - Log.WarnFormat("Failed to upload by using method addBase64EncodedAttachmentsToIssue, error was {0}", ex1.Message); - try { - Log.Warn("Trying addAttachmentsToIssue instead"); - _jira.addAttachmentsToIssue(_credentials, issueKey, new[] { filename }, (sbyte[])(Array)attachment.ToByteArray()); - } catch (Exception ex2) { - Log.WarnFormat("Failed to use alternative method, error was: {0}", ex2.Message); - throw; - } - } - } - - public void AddComment(string issueKey, string commentString) { - RemoteComment comment = new RemoteComment - { - body = commentString - }; - CheckCredentials(); - _jira.addComment(_credentials, issueKey, comment); - } - - private bool HasUser(string user) { - if (user != null) { - return _userCache.Contains(user); - } - return false; - } - - private string GetUserFullName(string user) { - string fullname; - if (user != null) { - if (_userCache.Contains(user)) { - fullname = _userCache[user].fullname; - } else { - CheckCredentials(); - RemoteUser remoteUser = _jira.getUser(_credentials, user); - _userCache.Add(user, remoteUser); - fullname = remoteUser.fullname; - } - } else { - fullname = "Not assigned"; - } - return fullname; - } - } -} \ No newline at end of file diff --git a/GreenshotJiraPlugin/JiraConfiguration.cs b/GreenshotJiraPlugin/JiraConfiguration.cs index 82a4982f8..869f9129a 100644 --- a/GreenshotJiraPlugin/JiraConfiguration.cs +++ b/GreenshotJiraPlugin/JiraConfiguration.cs @@ -29,10 +29,11 @@ namespace GreenshotJiraPlugin { [IniSection("Jira", Description="Greenshot Jira Plugin configuration")] public class JiraConfiguration : IniSection { public const string DefaultPrefix = "http://"; - private const string DefaultUrl = DefaultPrefix + "jira" + JiraConnector.DefaultPostfix; + private const string DefaultUrl = DefaultPrefix + "jira"; - [IniProperty("Url", Description="Url to Jira system, including wsdl.", DefaultValue=DefaultUrl)] + [IniProperty("Url", Description="Base url to Jira system, without anything else", DefaultValue=DefaultUrl)] public string Url { get; set; } + [IniProperty("Timeout", Description="Session timeout in minutes", DefaultValue="30")] public int Timeout { get; set; } diff --git a/GreenshotJiraPlugin/JiraConnector.cs b/GreenshotJiraPlugin/JiraConnector.cs new file mode 100644 index 000000000..bbd791e7b --- /dev/null +++ b/GreenshotJiraPlugin/JiraConnector.cs @@ -0,0 +1,181 @@ + +/* + * Greenshot - a free and open source screenshot tool + * Copyright (C) 2007-2015 Thomas Braun, Jens Klingen, Robin Krom + * + * For more information see: http://getgreenshot.org/ + * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using Dapplo.Jira; +using Dapplo.Jira.Entities; +using Greenshot.IniFile; +using GreenshotPlugin.Core; + +namespace GreenshotJiraPlugin { + public class JiraConnector : IDisposable { + private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(JiraConnector)); + private static readonly JiraConfiguration Config = IniConfig.GetIniSection(); + public const string DefaultPostfix = "/rpc/soap/jirasoapservice-v2?wsdl"; + private DateTime _loggedInTime = DateTime.Now; + private bool _loggedIn; + private readonly int _timeout; + private string _url; + private JiraApi _jiraApi; + + public void Dispose() { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected void Dispose(bool disposing) { + if (_jiraApi != null) + { + Task.Run(async () => await Logout()).Wait(); + } + } + + public JiraConnector() { + _url = Config.Url.Replace(DefaultPostfix, ""); + _timeout = Config.Timeout; + _jiraApi = new JiraApi(new Uri(_url)); + } + + ~JiraConnector() { + Dispose(false); + } + + /// + /// Internal login which catches the exceptions + /// + /// true if login was done sucessfully + private async Task DoLogin(string user, string password) + { + if (_url.EndsWith("wsdl")) + { + _url = _url.Replace(DefaultPostfix, ""); + // recreate the service with the new url + _jiraApi = new JiraApi(new Uri(_url)); + } + + LoginInfo loginInfo; + try + { + loginInfo = await _jiraApi.StartSessionAsync(user, password); + // Worked, store the url in the configuration + Config.Url = _url; + IniConfig.Save(); + } + catch (Exception) + { + return false; + } + return loginInfo != null; + } + + public async Task Login() { + await Logout(); + try { + // Get the system name, so the user knows where to login to + string systemName = _url.Replace(DefaultPostfix,""); + var credentialsDialog = new CredentialsDialog(systemName) + { + Name = null + }; + while (credentialsDialog.Show(credentialsDialog.Name) == DialogResult.OK) { + if (await DoLogin(credentialsDialog.Name, credentialsDialog.Password)) { + if (credentialsDialog.SaveChecked) { + credentialsDialog.Confirm(true); + } + _loggedIn = true; + _loggedInTime = DateTime.Now; + return; + } + try { + credentialsDialog.Confirm(false); + } catch (ApplicationException e) { + // exception handling ... + Log.Error("Problem using the credentials dialog", e); + } + // For every windows version after XP show an incorrect password baloon + credentialsDialog.IncorrectPassword = true; + // Make sure the dialog is display, the password was false! + credentialsDialog.AlwaysDisplay = true; + } + } catch (ApplicationException e) { + // exception handling ... + Log.Error("Problem using the credentials dialog", e); + } + + } + + public async Task Logout() { + if (_jiraApi != null) + { + await _jiraApi.EndSessionAsync(); + _loggedIn = false; + } + } + + private async Task CheckCredentials() { + if (_loggedIn) { + if (_loggedInTime.AddMinutes(_timeout-1).CompareTo(DateTime.Now) < 0) { + await Logout(); + await Login(); + } + } else { + await Login(); + } + } + + public async Task> GetFavoriteFiltersAsync() + { + await CheckCredentials(); + return await _jiraApi.GetFavoriteFiltersAsync(); + } + + public async Task GetIssueAsync(string issueKey) + { + await CheckCredentials(); + return await _jiraApi.GetIssueAsync(issueKey); + } + public async Task AttachAsync(string issueKey, TContent content, string filename, string contentType = null, CancellationToken cancellationToken = default(CancellationToken)) where TContent : class + { + await CheckCredentials(); + return await _jiraApi.AttachAsync(issueKey, content, filename, contentType, cancellationToken); + } + + public async Task AddCommentAsync(string issueKey, string body, string visibility = null, CancellationToken cancellationToken = default(CancellationToken)) + { + await CheckCredentials(); + await _jiraApi.AddCommentAsync(issueKey, body, visibility, cancellationToken); + } + public async Task SearchAsync(string jql, int maxResults = 20, IList fields = null, CancellationToken cancellationToken = default(CancellationToken)) + { + await CheckCredentials(); + return await _jiraApi.SearchAsync(jql, maxResults, fields, cancellationToken); + } + + public Uri JiraBaseUri => _jiraApi.JiraBaseUri; + + public bool IsLoggedIn => _loggedIn; + } +} \ No newline at end of file diff --git a/GreenshotJiraPlugin/JiraDestination.cs b/GreenshotJiraPlugin/JiraDestination.cs index 7d12bf79b..ba78a1fe4 100644 --- a/GreenshotJiraPlugin/JiraDestination.cs +++ b/GreenshotJiraPlugin/JiraDestination.cs @@ -25,6 +25,8 @@ using System.ComponentModel; using System.Drawing; using System.IO; using System.Windows.Forms; +using Dapplo.HttpExtensions; +using Dapplo.Jira.Entities; using Greenshot.IniFile; using Greenshot.Plugin; using GreenshotJiraPlugin.Forms; @@ -39,13 +41,13 @@ namespace GreenshotJiraPlugin { private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(JiraDestination)); private static readonly JiraConfiguration Config = IniConfig.GetIniSection(); private readonly JiraPlugin _jiraPlugin; - private readonly JiraIssue _jira; + private readonly Issue _jira; public JiraDestination(JiraPlugin jiraPlugin) { _jiraPlugin = jiraPlugin; } - public JiraDestination(JiraPlugin jiraPlugin, JiraIssue jira) { + public JiraDestination(JiraPlugin jiraPlugin, Issue jira) { _jiraPlugin = jiraPlugin; _jira = jira; } @@ -56,8 +58,8 @@ namespace GreenshotJiraPlugin { } } - private string FormatUpload(JiraIssue jira) { - return Designation + " - " + jira.Key + ": " + jira.Summary.Substring(0, Math.Min(20, jira.Summary.Length)); + private string FormatUpload(Issue jira) { + return Designation + " - " + jira.Key + ": " + jira.Fields.Summary.Substring(0, Math.Min(20, jira.Fields.Summary.Length)); } public override string Description { @@ -92,7 +94,7 @@ namespace GreenshotJiraPlugin { if (JiraPlugin.Instance.CurrentJiraConnector == null || !JiraPlugin.Instance.CurrentJiraConnector.IsLoggedIn) { yield break; } - List issues = JiraUtils.GetCurrentJiras(); + var issues = JiraUtils.GetCurrentJirasAsync().Result; if (issues != null) { foreach(var jiraIssue in issues) { yield return new JiraDestination(_jiraPlugin, jiraIssue); @@ -108,37 +110,43 @@ namespace GreenshotJiraPlugin { try { // Run upload in the background new PleaseWaitForm().ShowAndWait(Description, Language.GetString("jira", LangKey.communication_wait), - delegate { - _jiraPlugin.JiraConnector.AddAttachment(_jira.Key, filename, new SurfaceContainer(surfaceToUpload, outputSettings, filename)); + async () => + { + var surfaceContainer = new SurfaceContainer(surfaceToUpload, outputSettings, filename); + using (var memoryStream = new MemoryStream()) + { + surfaceContainer.WriteToStream(memoryStream); + memoryStream.Seek(0, SeekOrigin.Begin); + await _jiraPlugin.JiraConnector.AttachAsync(_jira.Key, memoryStream, filename, surfaceContainer.ContentType); + } + surfaceToUpload.UploadURL = _jiraPlugin.JiraConnector.JiraBaseUri.AppendSegments("browse", _jira.Key).AbsoluteUri; } ); - Log.Debug("Uploaded to Jira."); + Log.DebugFormat("Uploaded to Jira {0}", _jira.Key); exportInformation.ExportMade = true; - // TODO: This can't work: exportInformation.Uri = surfaceToUpload.UploadURL; } catch (Exception e) { MessageBox.Show(Language.GetString("jira", LangKey.upload_failure) + " " + e.Message); } } else { - JiraForm jiraForm = new JiraForm(_jiraPlugin.JiraConnector); - if (_jiraPlugin.JiraConnector.IsLoggedIn) { - jiraForm.SetFilename(filename); - DialogResult result = jiraForm.ShowDialog(); - if (result == DialogResult.OK) { - try { - // Run upload in the background - new PleaseWaitForm().ShowAndWait(Description, Language.GetString("jira", LangKey.communication_wait), - delegate { - jiraForm.Upload(new SurfaceContainer(surfaceToUpload, outputSettings, filename)); - } - ); - Log.Debug("Uploaded to Jira."); - exportInformation.ExportMade = true; - // TODO: This can't work: - exportInformation.Uri = surfaceToUpload.UploadURL; - } catch(Exception e) { - MessageBox.Show(Language.GetString("jira", LangKey.upload_failure) + " " + e.Message); - } + var jiraForm = new JiraForm(_jiraPlugin.JiraConnector); + jiraForm.SetFilename(filename); + var dialogResult = jiraForm.ShowDialog(); + if (dialogResult == DialogResult.OK) { + try { + surfaceToUpload.UploadURL = _jiraPlugin.JiraConnector.JiraBaseUri.AppendSegments("browse", jiraForm.GetJiraIssue().Key).AbsoluteUri; + // Run upload in the background + new PleaseWaitForm().ShowAndWait(Description, Language.GetString("jira", LangKey.communication_wait), + async () => + { + await jiraForm.UploadAsync(new SurfaceContainer(surfaceToUpload, outputSettings, filename)); + } + ); + Log.DebugFormat("Uploaded to Jira {0}", jiraForm.GetJiraIssue().Key); + exportInformation.ExportMade = true; + exportInformation.Uri = surfaceToUpload.UploadURL; + } catch(Exception e) { + MessageBox.Show(Language.GetString("jira", LangKey.upload_failure) + " " + e.Message); } } } diff --git a/GreenshotJiraPlugin/JiraPlugin.cs b/GreenshotJiraPlugin/JiraPlugin.cs index 84b81adcd..1133fdca5 100644 --- a/GreenshotJiraPlugin/JiraPlugin.cs +++ b/GreenshotJiraPlugin/JiraPlugin.cs @@ -19,11 +19,11 @@ * along with this program. If not, see . */ using System.Collections.Generic; -using System.ComponentModel; using System.Windows.Forms; using Greenshot.IniFile; using Greenshot.Plugin; using System; +using System.Threading.Tasks; using GreenshotJiraPlugin.Forms; namespace GreenshotJiraPlugin { @@ -42,7 +42,7 @@ namespace GreenshotJiraPlugin { GC.SuppressFinalize(this); } - protected virtual void Dispose(bool disposing) { + protected void Dispose(bool disposing) { if (disposing) { if (_jiraConnector != null) { _jiraConnector.Dispose(); @@ -85,7 +85,7 @@ namespace GreenshotJiraPlugin { public JiraConnector JiraConnector { get { if (_jiraConnector == null) { - _jiraConnector = new JiraConnector(true); + _jiraConnector = new JiraConnector(); } return _jiraConnector; } @@ -97,33 +97,36 @@ namespace GreenshotJiraPlugin { /// Use the IGreenshotPluginHost interface to register events /// My own attributes /// true if plugin is initialized, false if not (doesn't show) - public virtual bool Initialize(IGreenshotHost pluginHost, PluginAttribute myAttributes) { + public bool Initialize(IGreenshotHost pluginHost, PluginAttribute myAttributes) { _jiraPluginAttributes = myAttributes; // Register configuration (don't need the configuration itself) _config = IniConfig.GetIniSection(); - new ComponentResourceManager(typeof(JiraPlugin)); return true; } - public virtual void Shutdown() { + public void Shutdown() { Log.Debug("Jira Plugin shutdown."); - if (_jiraConnector != null) { - _jiraConnector.Logout(); + if (_jiraConnector != null) + { + Task.Run(async () => await _jiraConnector.Logout()); } } /// /// Implementation of the IPlugin.Configure /// - public virtual void Configure() { + public void Configure() { string url = _config.Url; if (ShowConfigDialog()) { // check for re-login if (_jiraConnector != null && _jiraConnector.IsLoggedIn && !string.IsNullOrEmpty(url)) { if (!url.Equals(_config.Url)) { - _jiraConnector.Logout(); - _jiraConnector.Login(); + Task.Run(async () => + { + await _jiraConnector.Logout(); + await _jiraConnector.Login(); + }); } } } @@ -143,15 +146,5 @@ namespace GreenshotJiraPlugin { } return false; } - - /// - /// This will be called when Greenshot is shutting down - /// - /// - /// - public void Closing(object sender, FormClosingEventArgs e) { - Log.Debug("Application closing, calling logout of jira!"); - Shutdown(); - } } } diff --git a/GreenshotJiraPlugin/JiraUtils.cs b/GreenshotJiraPlugin/JiraUtils.cs index 3dcf945c4..1f801ca11 100644 --- a/GreenshotJiraPlugin/JiraUtils.cs +++ b/GreenshotJiraPlugin/JiraUtils.cs @@ -18,8 +18,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + +using System; using System.Collections.Generic; using System.Text.RegularExpressions; +using System.Threading.Tasks; +using Dapplo.Jira.Entities; using Greenshot.IniFile; using GreenshotPlugin.Core; @@ -30,15 +34,16 @@ namespace GreenshotJiraPlugin { public static class JiraUtils { private static readonly Regex JiraKeyRegex = new Regex(@"/browse/([A-Z0-9]+\-[0-9]+)"); private static readonly JiraConfiguration Config = IniConfig.GetIniSection(); + private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(JiraUtils)); - public static List GetCurrentJiras() { + public static async Task> GetCurrentJirasAsync() { // Make sure we suppress the login - List jirakeys = new List(); + var jirakeys = new List(); foreach(string url in IEHelper.GetIEUrls()) { if (url == null) { continue; } - MatchCollection jiraKeyMatch = JiraKeyRegex.Matches(url); + var jiraKeyMatch = JiraKeyRegex.Matches(url); if (jiraKeyMatch.Count > 0) { string jiraKey = jiraKeyMatch[0].Groups[1].Value; jirakeys.Add(jiraKey); @@ -48,19 +53,19 @@ namespace GreenshotJiraPlugin { jirakeys.Add(Config.LastUsedJira); } if (jirakeys.Count > 0) { - List jiraIssues = new List(); + var jiraIssues = new List(); foreach(string jiraKey in jirakeys) { try { - JiraIssue issue = JiraPlugin.Instance.JiraConnector.GetIssue(jiraKey); + var issue = await JiraPlugin.Instance.JiraConnector.GetIssueAsync(jiraKey); if (issue != null) { jiraIssues.Add(issue); } } - catch + catch (Exception ex) { - + Log.Error(ex); } } if (jiraIssues.Count > 0) { diff --git a/GreenshotJiraPlugin/Web References/JiraSoap/Reference.cs b/GreenshotJiraPlugin/Web References/JiraSoap/Reference.cs deleted file mode 100644 index 6633d436c..000000000 --- a/GreenshotJiraPlugin/Web References/JiraSoap/Reference.cs +++ /dev/null @@ -1,3721 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.3620 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Web.Services; -using System.Web.Services.Protocols; -using System.Xml.Serialization; - -namespace GreenshotJiraPlugin.Web_References.JiraSoap -{ - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [WebServiceBinding(Name="jirasoapservice-v2SoapBinding", Namespace="http://jira/rpc/soap/jirasoapservice-v2")] - [SoapInclude(typeof(RemoteRoleActor))] - [SoapInclude(typeof(RemoteFieldValue))] - [SoapInclude(typeof(RemoteCustomFieldValue))] - [SoapInclude(typeof(RemotePermissionMapping))] - [SoapInclude(typeof(AbstractRemoteEntity))] - public partial class JiraSoapServiceService : System.Web.Services.Protocols.SoapHttpClientProtocol - { - - /// - public JiraSoapServiceService() - { - this.Url = "http://jira/rpc/soap/jirasoapservice-v2"; - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getCommentReturn")] - public RemoteComment getComment(string in0, long in1) - { - object[] results = this.Invoke("getComment", new object[] { - in0, - in1}); - return ((RemoteComment)(results[0])); - } - - /// - public System.IAsyncResult BegingetComment(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getComment", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteComment EndgetComment(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteComment)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getServerInfoReturn")] - public RemoteServerInfo getServerInfo(string in0) - { - object[] results = this.Invoke("getServerInfo", new object[] { - in0}); - return ((RemoteServerInfo)(results[0])); - } - - /// - public System.IAsyncResult BegingetServerInfo(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getServerInfo", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteServerInfo EndgetServerInfo(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteServerInfo)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getGroupReturn")] - public RemoteGroup getGroup(string in0, string in1) - { - object[] results = this.Invoke("getGroup", new object[] { - in0, - in1}); - return ((RemoteGroup)(results[0])); - } - - /// - public System.IAsyncResult BegingetGroup(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getGroup", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteGroup EndgetGroup(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteGroup)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("loginReturn")] - public string login(string in0, string in1) - { - object[] results = this.Invoke("login", new object[] { - in0, - in1}); - return ((string)(results[0])); - } - - /// - public System.IAsyncResult Beginlogin(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("login", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public string Endlogin(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((string)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getUserReturn")] - public RemoteUser getUser(string in0, string in1) - { - object[] results = this.Invoke("getUser", new object[] { - in0, - in1}); - return ((RemoteUser)(results[0])); - } - - /// - public System.IAsyncResult BegingetUser(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getUser", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteUser EndgetUser(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteUser)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssueReturn")] - public RemoteIssue getIssue(string in0, string in1) - { - object[] results = this.Invoke("getIssue", new object[] { - in0, - in1}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BegingetIssue(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssue", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssue EndgetIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getVersionsReturn")] - public RemoteVersion[] getVersions(string in0, string in1) - { - object[] results = this.Invoke("getVersions", new object[] { - in0, - in1}); - return ((RemoteVersion[])(results[0])); - } - - /// - public System.IAsyncResult BegingetVersions(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getVersions", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteVersion[] EndgetVersions(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteVersion[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getComponentsReturn")] - public RemoteComponent[] getComponents(string in0, string in1) - { - object[] results = this.Invoke("getComponents", new object[] { - in0, - in1}); - return ((RemoteComponent[])(results[0])); - } - - /// - public System.IAsyncResult BegingetComponents(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getComponents", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteComponent[] EndgetComponents(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteComponent[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createGroupReturn")] - public RemoteGroup createGroup(string in0, string in1, RemoteUser in2) - { - object[] results = this.Invoke("createGroup", new object[] { - in0, - in1, - in2}); - return ((RemoteGroup)(results[0])); - } - - /// - public System.IAsyncResult BegincreateGroup(string in0, string in1, RemoteUser in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createGroup", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteGroup EndcreateGroup(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteGroup)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createUserReturn")] - public RemoteUser createUser(string in0, string in1, string in2, string in3, string in4) - { - object[] results = this.Invoke("createUser", new object[] { - in0, - in1, - in2, - in3, - in4}); - return ((RemoteUser)(results[0])); - } - - /// - public System.IAsyncResult BegincreateUser(string in0, string in1, string in2, string in3, string in4, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createUser", new object[] { - in0, - in1, - in2, - in3, - in4}, callback, asyncState); - } - - /// - public RemoteUser EndcreateUser(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteUser)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createIssueReturn")] - public RemoteIssue createIssue(string in0, RemoteIssue in1) - { - object[] results = this.Invoke("createIssue", new object[] { - in0, - in1}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BegincreateIssue(string in0, RemoteIssue in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createIssue", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssue EndcreateIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("updateIssueReturn")] - public RemoteIssue updateIssue(string in0, string in1, RemoteFieldValue[] in2) - { - object[] results = this.Invoke("updateIssue", new object[] { - in0, - in1, - in2}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BeginupdateIssue(string in0, string in1, RemoteFieldValue[] in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateIssue", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteIssue EndupdateIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteIssue(string in0, string in1) - { - this.Invoke("deleteIssue", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteIssue(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteIssue", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteIssue(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getAvailableActionsReturn")] - public RemoteNamedObject[] getAvailableActions(string in0, string in1) - { - object[] results = this.Invoke("getAvailableActions", new object[] { - in0, - in1}); - return ((RemoteNamedObject[])(results[0])); - } - - /// - public System.IAsyncResult BegingetAvailableActions(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getAvailableActions", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteNamedObject[] EndgetAvailableActions(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteNamedObject[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSubTaskIssueTypesReturn")] - public RemoteIssueType[] getSubTaskIssueTypes(string in0) - { - object[] results = this.Invoke("getSubTaskIssueTypes", new object[] { - in0}); - return ((RemoteIssueType[])(results[0])); - } - - /// - public System.IAsyncResult BegingetSubTaskIssueTypes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSubTaskIssueTypes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteIssueType[] EndgetSubTaskIssueTypes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssueType[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getConfigurationReturn")] - public RemoteConfiguration getConfiguration(string in0) - { - object[] results = this.Invoke("getConfiguration", new object[] { - in0}); - return ((RemoteConfiguration)(results[0])); - } - - /// - public System.IAsyncResult BegingetConfiguration(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getConfiguration", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteConfiguration EndgetConfiguration(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteConfiguration)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createProjectReturn")] - public RemoteProject createProject(string in0, string in1, string in2, string in3, string in4, string in5, RemotePermissionScheme in6, RemoteScheme in7, RemoteScheme in8) - { - object[] results = this.Invoke("createProject", new object[] { - in0, - in1, - in2, - in3, - in4, - in5, - in6, - in7, - in8}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BegincreateProject(string in0, string in1, string in2, string in3, string in4, string in5, RemotePermissionScheme in6, RemoteScheme in7, RemoteScheme in8, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createProject", new object[] { - in0, - in1, - in2, - in3, - in4, - in5, - in6, - in7, - in8}, callback, asyncState); - } - - /// - public RemoteProject EndcreateProject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("updateProjectReturn")] - public RemoteProject updateProject(string in0, RemoteProject in1) - { - object[] results = this.Invoke("updateProject", new object[] { - in0, - in1}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BeginupdateProject(string in0, RemoteProject in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateProject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProject EndupdateProject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectByKeyReturn")] - public RemoteProject getProjectByKey(string in0, string in1) - { - object[] results = this.Invoke("getProjectByKey", new object[] { - in0, - in1}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectByKey(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectByKey", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProject EndgetProjectByKey(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void removeAllRoleActorsByProject(string in0, RemoteProject in1) - { - this.Invoke("removeAllRoleActorsByProject", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BeginremoveAllRoleActorsByProject(string in0, RemoteProject in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("removeAllRoleActorsByProject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EndremoveAllRoleActorsByProject(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getPrioritiesReturn")] - public RemotePriority[] getPriorities(string in0) - { - object[] results = this.Invoke("getPriorities", new object[] { - in0}); - return ((RemotePriority[])(results[0])); - } - - /// - public System.IAsyncResult BegingetPriorities(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getPriorities", new object[] { - in0}, callback, asyncState); - } - - /// - public RemotePriority[] EndgetPriorities(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePriority[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getResolutionsReturn")] - public RemoteResolution[] getResolutions(string in0) - { - object[] results = this.Invoke("getResolutions", new object[] { - in0}); - return ((RemoteResolution[])(results[0])); - } - - /// - public System.IAsyncResult BegingetResolutions(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getResolutions", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteResolution[] EndgetResolutions(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteResolution[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssueTypesReturn")] - public RemoteIssueType[] getIssueTypes(string in0) - { - object[] results = this.Invoke("getIssueTypes", new object[] { - in0}); - return ((RemoteIssueType[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssueTypes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssueTypes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteIssueType[] EndgetIssueTypes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssueType[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getStatusesReturn")] - public RemoteStatus[] getStatuses(string in0) - { - object[] results = this.Invoke("getStatuses", new object[] { - in0}); - return ((RemoteStatus[])(results[0])); - } - - /// - public System.IAsyncResult BegingetStatuses(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getStatuses", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteStatus[] EndgetStatuses(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteStatus[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssueTypesForProjectReturn")] - public RemoteIssueType[] getIssueTypesForProject(string in0, string in1) - { - object[] results = this.Invoke("getIssueTypesForProject", new object[] { - in0, - in1}); - return ((RemoteIssueType[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssueTypesForProject(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssueTypesForProject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssueType[] EndgetIssueTypesForProject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssueType[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectRolesReturn")] - public RemoteProjectRole[] getProjectRoles(string in0) - { - object[] results = this.Invoke("getProjectRoles", new object[] { - in0}); - return ((RemoteProjectRole[])(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectRoles(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectRoles", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteProjectRole[] EndgetProjectRoles(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProjectRole[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectRoleReturn")] - public RemoteProjectRole getProjectRole(string in0, long in1) - { - object[] results = this.Invoke("getProjectRole", new object[] { - in0, - in1}); - return ((RemoteProjectRole)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectRole(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectRole", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProjectRole EndgetProjectRole(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProjectRole)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectRoleActorsReturn")] - public RemoteProjectRoleActors getProjectRoleActors(string in0, RemoteProjectRole in1, RemoteProject in2) - { - object[] results = this.Invoke("getProjectRoleActors", new object[] { - in0, - in1, - in2}); - return ((RemoteProjectRoleActors)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectRoleActors(string in0, RemoteProjectRole in1, RemoteProject in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectRoleActors", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteProjectRoleActors EndgetProjectRoleActors(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProjectRoleActors)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getDefaultRoleActorsReturn")] - public RemoteRoleActors getDefaultRoleActors(string in0, RemoteProjectRole in1) - { - object[] results = this.Invoke("getDefaultRoleActors", new object[] { - in0, - in1}); - return ((RemoteRoleActors)(results[0])); - } - - /// - public System.IAsyncResult BegingetDefaultRoleActors(string in0, RemoteProjectRole in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getDefaultRoleActors", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteRoleActors EndgetDefaultRoleActors(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteRoleActors)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void removeAllRoleActorsByNameAndType(string in0, string in1, string in2) - { - this.Invoke("removeAllRoleActorsByNameAndType", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginremoveAllRoleActorsByNameAndType(string in0, string in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("removeAllRoleActorsByNameAndType", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndremoveAllRoleActorsByNameAndType(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteProjectRole(string in0, RemoteProjectRole in1, bool in2) - { - this.Invoke("deleteProjectRole", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BegindeleteProjectRole(string in0, RemoteProjectRole in1, bool in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteProjectRole", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EnddeleteProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void updateProjectRole(string in0, RemoteProjectRole in1) - { - this.Invoke("updateProjectRole", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BeginupdateProjectRole(string in0, RemoteProjectRole in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateProjectRole", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EndupdateProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createProjectRoleReturn")] - public RemoteProjectRole createProjectRole(string in0, RemoteProjectRole in1) - { - object[] results = this.Invoke("createProjectRole", new object[] { - in0, - in1}); - return ((RemoteProjectRole)(results[0])); - } - - /// - public System.IAsyncResult BegincreateProjectRole(string in0, RemoteProjectRole in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createProjectRole", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProjectRole EndcreateProjectRole(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProjectRole)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("isProjectRoleNameUniqueReturn")] - public bool isProjectRoleNameUnique(string in0, string in1) - { - object[] results = this.Invoke("isProjectRoleNameUnique", new object[] { - in0, - in1}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginisProjectRoleNameUnique(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("isProjectRoleNameUnique", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public bool EndisProjectRoleNameUnique(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void addActorsToProjectRole(string in0, string[] in1, RemoteProjectRole in2, RemoteProject in3, string in4) - { - this.Invoke("addActorsToProjectRole", new object[] { - in0, - in1, - in2, - in3, - in4}); - } - - /// - public System.IAsyncResult BeginaddActorsToProjectRole(string in0, string[] in1, RemoteProjectRole in2, RemoteProject in3, string in4, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addActorsToProjectRole", new object[] { - in0, - in1, - in2, - in3, - in4}, callback, asyncState); - } - - /// - public void EndaddActorsToProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void removeActorsFromProjectRole(string in0, string[] in1, RemoteProjectRole in2, RemoteProject in3, string in4) - { - this.Invoke("removeActorsFromProjectRole", new object[] { - in0, - in1, - in2, - in3, - in4}); - } - - /// - public System.IAsyncResult BeginremoveActorsFromProjectRole(string in0, string[] in1, RemoteProjectRole in2, RemoteProject in3, string in4, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("removeActorsFromProjectRole", new object[] { - in0, - in1, - in2, - in3, - in4}, callback, asyncState); - } - - /// - public void EndremoveActorsFromProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void addDefaultActorsToProjectRole(string in0, string[] in1, RemoteProjectRole in2, string in3) - { - this.Invoke("addDefaultActorsToProjectRole", new object[] { - in0, - in1, - in2, - in3}); - } - - /// - public System.IAsyncResult BeginaddDefaultActorsToProjectRole(string in0, string[] in1, RemoteProjectRole in2, string in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addDefaultActorsToProjectRole", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public void EndaddDefaultActorsToProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void removeDefaultActorsFromProjectRole(string in0, string[] in1, RemoteProjectRole in2, string in3) - { - this.Invoke("removeDefaultActorsFromProjectRole", new object[] { - in0, - in1, - in2, - in3}); - } - - /// - public System.IAsyncResult BeginremoveDefaultActorsFromProjectRole(string in0, string[] in1, RemoteProjectRole in2, string in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("removeDefaultActorsFromProjectRole", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public void EndremoveDefaultActorsFromProjectRole(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getAssociatedNotificationSchemesReturn")] - public RemoteScheme[] getAssociatedNotificationSchemes(string in0, RemoteProjectRole in1) - { - object[] results = this.Invoke("getAssociatedNotificationSchemes", new object[] { - in0, - in1}); - return ((RemoteScheme[])(results[0])); - } - - /// - public System.IAsyncResult BegingetAssociatedNotificationSchemes(string in0, RemoteProjectRole in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getAssociatedNotificationSchemes", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteScheme[] EndgetAssociatedNotificationSchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteScheme[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getAssociatedPermissionSchemesReturn")] - public RemoteScheme[] getAssociatedPermissionSchemes(string in0, RemoteProjectRole in1) - { - object[] results = this.Invoke("getAssociatedPermissionSchemes", new object[] { - in0, - in1}); - return ((RemoteScheme[])(results[0])); - } - - /// - public System.IAsyncResult BegingetAssociatedPermissionSchemes(string in0, RemoteProjectRole in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getAssociatedPermissionSchemes", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteScheme[] EndgetAssociatedPermissionSchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteScheme[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteProject(string in0, string in1) - { - this.Invoke("deleteProject", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteProject(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteProject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteProject(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectByIdReturn")] - public RemoteProject getProjectById(string in0, long in1) - { - object[] results = this.Invoke("getProjectById", new object[] { - in0, - in1}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectById(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectById", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProject EndgetProjectById(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getCustomFieldsReturn")] - public RemoteField[] getCustomFields(string in0) - { - object[] results = this.Invoke("getCustomFields", new object[] { - in0}); - return ((RemoteField[])(results[0])); - } - - /// - public System.IAsyncResult BegingetCustomFields(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getCustomFields", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteField[] EndgetCustomFields(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteField[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getCommentsReturn")] - public RemoteComment[] getComments(string in0, string in1) - { - object[] results = this.Invoke("getComments", new object[] { - in0, - in1}); - return ((RemoteComment[])(results[0])); - } - - /// - public System.IAsyncResult BegingetComments(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getComments", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteComment[] EndgetComments(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteComment[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getFavouriteFiltersReturn")] - public RemoteFilter[] getFavouriteFilters(string in0) - { - object[] results = this.Invoke("getFavouriteFilters", new object[] { - in0}); - return ((RemoteFilter[])(results[0])); - } - - /// - public System.IAsyncResult BegingetFavouriteFilters(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getFavouriteFilters", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteFilter[] EndgetFavouriteFilters(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteFilter[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void releaseVersion(string in0, string in1, RemoteVersion in2) - { - this.Invoke("releaseVersion", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginreleaseVersion(string in0, string in1, RemoteVersion in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("releaseVersion", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndreleaseVersion(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void archiveVersion(string in0, string in1, string in2, bool in3) - { - this.Invoke("archiveVersion", new object[] { - in0, - in1, - in2, - in3}); - } - - /// - public System.IAsyncResult BeginarchiveVersion(string in0, string in1, string in2, bool in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("archiveVersion", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public void EndarchiveVersion(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getFieldsForEditReturn")] - public RemoteField[] getFieldsForEdit(string in0, string in1) - { - object[] results = this.Invoke("getFieldsForEdit", new object[] { - in0, - in1}); - return ((RemoteField[])(results[0])); - } - - /// - public System.IAsyncResult BegingetFieldsForEdit(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getFieldsForEdit", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteField[] EndgetFieldsForEdit(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteField[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSubTaskIssueTypesForProjectReturn")] - public RemoteIssueType[] getSubTaskIssueTypesForProject(string in0, string in1) - { - object[] results = this.Invoke("getSubTaskIssueTypesForProject", new object[] { - in0, - in1}); - return ((RemoteIssueType[])(results[0])); - } - - /// - public System.IAsyncResult BegingetSubTaskIssueTypesForProject(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSubTaskIssueTypesForProject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssueType[] EndgetSubTaskIssueTypesForProject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssueType[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void addUserToGroup(string in0, RemoteGroup in1, RemoteUser in2) - { - this.Invoke("addUserToGroup", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginaddUserToGroup(string in0, RemoteGroup in1, RemoteUser in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addUserToGroup", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndaddUserToGroup(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void removeUserFromGroup(string in0, RemoteGroup in1, RemoteUser in2) - { - this.Invoke("removeUserFromGroup", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginremoveUserFromGroup(string in0, RemoteGroup in1, RemoteUser in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("removeUserFromGroup", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndremoveUserFromGroup(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSecurityLevelReturn")] - public RemoteSecurityLevel getSecurityLevel(string in0, string in1) - { - object[] results = this.Invoke("getSecurityLevel", new object[] { - in0, - in1}); - return ((RemoteSecurityLevel)(results[0])); - } - - /// - public System.IAsyncResult BegingetSecurityLevel(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSecurityLevel", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteSecurityLevel EndgetSecurityLevel(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteSecurityLevel)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("logoutReturn")] - public bool logout(string in0) - { - object[] results = this.Invoke("logout", new object[] { - in0}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult Beginlogout(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("logout", new object[] { - in0}, callback, asyncState); - } - - /// - public bool Endlogout(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void addComment(string in0, string in1, RemoteComment in2) - { - this.Invoke("addComment", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginaddComment(string in0, string in1, RemoteComment in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addComment", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndaddComment(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectWithSchemesByIdReturn")] - public RemoteProject getProjectWithSchemesById(string in0, long in1) - { - object[] results = this.Invoke("getProjectWithSchemesById", new object[] { - in0, - in1}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectWithSchemesById(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectWithSchemesById", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProject EndgetProjectWithSchemesById(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSecurityLevelsReturn")] - public RemoteSecurityLevel[] getSecurityLevels(string in0, string in1) - { - object[] results = this.Invoke("getSecurityLevels", new object[] { - in0, - in1}); - return ((RemoteSecurityLevel[])(results[0])); - } - - /// - public System.IAsyncResult BegingetSecurityLevels(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSecurityLevels", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteSecurityLevel[] EndgetSecurityLevels(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteSecurityLevel[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectAvatarsReturn")] - public RemoteAvatar[] getProjectAvatars(string in0, string in1, bool in2) - { - object[] results = this.Invoke("getProjectAvatars", new object[] { - in0, - in1, - in2}); - return ((RemoteAvatar[])(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectAvatars(string in0, string in1, bool in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectAvatars", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteAvatar[] EndgetProjectAvatars(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteAvatar[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void setProjectAvatar(string in0, string in1, long in2) - { - this.Invoke("setProjectAvatar", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginsetProjectAvatar(string in0, string in1, long in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("setProjectAvatar", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndsetProjectAvatar(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectAvatarReturn")] - public RemoteAvatar getProjectAvatar(string in0, string in1) - { - object[] results = this.Invoke("getProjectAvatar", new object[] { - in0, - in1}); - return ((RemoteAvatar)(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectAvatar(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectAvatar", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteAvatar EndgetProjectAvatar(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteAvatar)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteProjectAvatar(string in0, long in1) - { - this.Invoke("deleteProjectAvatar", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteProjectAvatar(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteProjectAvatar", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteProjectAvatar(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getNotificationSchemesReturn")] - public RemoteScheme[] getNotificationSchemes(string in0) - { - object[] results = this.Invoke("getNotificationSchemes", new object[] { - in0}); - return ((RemoteScheme[])(results[0])); - } - - /// - public System.IAsyncResult BegingetNotificationSchemes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getNotificationSchemes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteScheme[] EndgetNotificationSchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteScheme[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getPermissionSchemesReturn")] - public RemotePermissionScheme[] getPermissionSchemes(string in0) - { - object[] results = this.Invoke("getPermissionSchemes", new object[] { - in0}); - return ((RemotePermissionScheme[])(results[0])); - } - - /// - public System.IAsyncResult BegingetPermissionSchemes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getPermissionSchemes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemotePermissionScheme[] EndgetPermissionSchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePermissionScheme[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getAllPermissionsReturn")] - public RemotePermission[] getAllPermissions(string in0) - { - object[] results = this.Invoke("getAllPermissions", new object[] { - in0}); - return ((RemotePermission[])(results[0])); - } - - /// - public System.IAsyncResult BegingetAllPermissions(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getAllPermissions", new object[] { - in0}, callback, asyncState); - } - - /// - public RemotePermission[] EndgetAllPermissions(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePermission[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createPermissionSchemeReturn")] - public RemotePermissionScheme createPermissionScheme(string in0, string in1, string in2) - { - object[] results = this.Invoke("createPermissionScheme", new object[] { - in0, - in1, - in2}); - return ((RemotePermissionScheme)(results[0])); - } - - /// - public System.IAsyncResult BegincreatePermissionScheme(string in0, string in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createPermissionScheme", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemotePermissionScheme EndcreatePermissionScheme(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePermissionScheme)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addPermissionToReturn")] - public RemotePermissionScheme addPermissionTo(string in0, RemotePermissionScheme in1, RemotePermission in2, RemoteEntity in3) - { - object[] results = this.Invoke("addPermissionTo", new object[] { - in0, - in1, - in2, - in3}); - return ((RemotePermissionScheme)(results[0])); - } - - /// - public System.IAsyncResult BeginaddPermissionTo(string in0, RemotePermissionScheme in1, RemotePermission in2, RemoteEntity in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addPermissionTo", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemotePermissionScheme EndaddPermissionTo(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePermissionScheme)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("deletePermissionFromReturn")] - public RemotePermissionScheme deletePermissionFrom(string in0, RemotePermissionScheme in1, RemotePermission in2, RemoteEntity in3) - { - object[] results = this.Invoke("deletePermissionFrom", new object[] { - in0, - in1, - in2, - in3}); - return ((RemotePermissionScheme)(results[0])); - } - - /// - public System.IAsyncResult BegindeletePermissionFrom(string in0, RemotePermissionScheme in1, RemotePermission in2, RemoteEntity in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deletePermissionFrom", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemotePermissionScheme EnddeletePermissionFrom(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemotePermissionScheme)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deletePermissionScheme(string in0, string in1) - { - this.Invoke("deletePermissionScheme", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeletePermissionScheme(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deletePermissionScheme", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeletePermissionScheme(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createIssueWithSecurityLevelReturn")] - public RemoteIssue createIssueWithSecurityLevel(string in0, RemoteIssue in1, long in2) - { - object[] results = this.Invoke("createIssueWithSecurityLevel", new object[] { - in0, - in1, - in2}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BegincreateIssueWithSecurityLevel(string in0, RemoteIssue in1, long in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createIssueWithSecurityLevel", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteIssue EndcreateIssueWithSecurityLevel(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addAttachmentsToIssueReturn")] - public bool addAttachmentsToIssue(string in0, string in1, string[] in2, sbyte[] in3) - { - object[] results = this.Invoke("addAttachmentsToIssue", new object[] { - in0, - in1, - in2, - in3}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginaddAttachmentsToIssue(string in0, string in1, string[] in2, sbyte[] in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addAttachmentsToIssue", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public bool EndaddAttachmentsToIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getAttachmentsFromIssueReturn")] - public RemoteAttachment[] getAttachmentsFromIssue(string in0, string in1) - { - object[] results = this.Invoke("getAttachmentsFromIssue", new object[] { - in0, - in1}); - return ((RemoteAttachment[])(results[0])); - } - - /// - public System.IAsyncResult BegingetAttachmentsFromIssue(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getAttachmentsFromIssue", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteAttachment[] EndgetAttachmentsFromIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteAttachment[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("hasPermissionToEditCommentReturn")] - public bool hasPermissionToEditComment(string in0, RemoteComment in1) - { - object[] results = this.Invoke("hasPermissionToEditComment", new object[] { - in0, - in1}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginhasPermissionToEditComment(string in0, RemoteComment in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("hasPermissionToEditComment", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public bool EndhasPermissionToEditComment(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("editCommentReturn")] - public RemoteComment editComment(string in0, RemoteComment in1) - { - object[] results = this.Invoke("editComment", new object[] { - in0, - in1}); - return ((RemoteComment)(results[0])); - } - - /// - public System.IAsyncResult BegineditComment(string in0, RemoteComment in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("editComment", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteComment EndeditComment(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteComment)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getFieldsForActionReturn")] - public RemoteField[] getFieldsForAction(string in0, string in1, string in2) - { - object[] results = this.Invoke("getFieldsForAction", new object[] { - in0, - in1, - in2}); - return ((RemoteField[])(results[0])); - } - - /// - public System.IAsyncResult BegingetFieldsForAction(string in0, string in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getFieldsForAction", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteField[] EndgetFieldsForAction(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteField[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("progressWorkflowActionReturn")] - public RemoteIssue progressWorkflowAction(string in0, string in1, string in2, RemoteFieldValue[] in3) - { - object[] results = this.Invoke("progressWorkflowAction", new object[] { - in0, - in1, - in2, - in3}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BeginprogressWorkflowAction(string in0, string in1, string in2, RemoteFieldValue[] in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("progressWorkflowAction", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemoteIssue EndprogressWorkflowAction(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssueByIdReturn")] - public RemoteIssue getIssueById(string in0, string in1) - { - object[] results = this.Invoke("getIssueById", new object[] { - in0, - in1}); - return ((RemoteIssue)(results[0])); - } - - /// - public System.IAsyncResult BegingetIssueById(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssueById", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssue EndgetIssueById(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addWorklogWithNewRemainingEstimateReturn")] - public RemoteWorklog addWorklogWithNewRemainingEstimate(string in0, string in1, RemoteWorklog in2, string in3) - { - object[] results = this.Invoke("addWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2, - in3}); - return ((RemoteWorklog)(results[0])); - } - - /// - public System.IAsyncResult BeginaddWorklogWithNewRemainingEstimate(string in0, string in1, RemoteWorklog in2, string in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemoteWorklog EndaddWorklogWithNewRemainingEstimate(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteWorklog)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addWorklogAndAutoAdjustRemainingEstimateReturn")] - public RemoteWorklog addWorklogAndAutoAdjustRemainingEstimate(string in0, string in1, RemoteWorklog in2) - { - object[] results = this.Invoke("addWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1, - in2}); - return ((RemoteWorklog)(results[0])); - } - - /// - public System.IAsyncResult BeginaddWorklogAndAutoAdjustRemainingEstimate(string in0, string in1, RemoteWorklog in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteWorklog EndaddWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteWorklog)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addWorklogAndRetainRemainingEstimateReturn")] - public RemoteWorklog addWorklogAndRetainRemainingEstimate(string in0, string in1, RemoteWorklog in2) - { - object[] results = this.Invoke("addWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1, - in2}); - return ((RemoteWorklog)(results[0])); - } - - /// - public System.IAsyncResult BeginaddWorklogAndRetainRemainingEstimate(string in0, string in1, RemoteWorklog in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteWorklog EndaddWorklogAndRetainRemainingEstimate(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteWorklog)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteWorklogWithNewRemainingEstimate(string in0, string in1, string in2) - { - this.Invoke("deleteWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BegindeleteWorklogWithNewRemainingEstimate(string in0, string in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EnddeleteWorklogWithNewRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteWorklogAndAutoAdjustRemainingEstimate(string in0, string in1) - { - this.Invoke("deleteWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteWorklogAndAutoAdjustRemainingEstimate(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteWorklogAndRetainRemainingEstimate(string in0, string in1) - { - this.Invoke("deleteWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteWorklogAndRetainRemainingEstimate(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteWorklogAndRetainRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void updateWorklogWithNewRemainingEstimate(string in0, RemoteWorklog in1, string in2) - { - this.Invoke("updateWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BeginupdateWorklogWithNewRemainingEstimate(string in0, RemoteWorklog in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateWorklogWithNewRemainingEstimate", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EndupdateWorklogWithNewRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void updateWorklogAndAutoAdjustRemainingEstimate(string in0, RemoteWorklog in1) - { - this.Invoke("updateWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BeginupdateWorklogAndAutoAdjustRemainingEstimate(string in0, RemoteWorklog in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateWorklogAndAutoAdjustRemainingEstimate", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EndupdateWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void updateWorklogAndRetainRemainingEstimate(string in0, RemoteWorklog in1) - { - this.Invoke("updateWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BeginupdateWorklogAndRetainRemainingEstimate(string in0, RemoteWorklog in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateWorklogAndRetainRemainingEstimate", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EndupdateWorklogAndRetainRemainingEstimate(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getWorklogsReturn")] - public RemoteWorklog[] getWorklogs(string in0, string in1) - { - object[] results = this.Invoke("getWorklogs", new object[] { - in0, - in1}); - return ((RemoteWorklog[])(results[0])); - } - - /// - public System.IAsyncResult BegingetWorklogs(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getWorklogs", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteWorklog[] EndgetWorklogs(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteWorklog[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("hasPermissionToCreateWorklogReturn")] - public bool hasPermissionToCreateWorklog(string in0, string in1) - { - object[] results = this.Invoke("hasPermissionToCreateWorklog", new object[] { - in0, - in1}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginhasPermissionToCreateWorklog(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("hasPermissionToCreateWorklog", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public bool EndhasPermissionToCreateWorklog(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("hasPermissionToDeleteWorklogReturn")] - public bool hasPermissionToDeleteWorklog(string in0, string in1) - { - object[] results = this.Invoke("hasPermissionToDeleteWorklog", new object[] { - in0, - in1}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginhasPermissionToDeleteWorklog(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("hasPermissionToDeleteWorklog", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public bool EndhasPermissionToDeleteWorklog(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("hasPermissionToUpdateWorklogReturn")] - public bool hasPermissionToUpdateWorklog(string in0, string in1) - { - object[] results = this.Invoke("hasPermissionToUpdateWorklog", new object[] { - in0, - in1}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginhasPermissionToUpdateWorklog(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("hasPermissionToUpdateWorklog", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public bool EndhasPermissionToUpdateWorklog(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getResolutionDateByKeyReturn")] - public System.DateTime getResolutionDateByKey(string in0, string in1) - { - object[] results = this.Invoke("getResolutionDateByKey", new object[] { - in0, - in1}); - return ((System.DateTime)(results[0])); - } - - /// - public System.IAsyncResult BegingetResolutionDateByKey(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getResolutionDateByKey", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public System.DateTime EndgetResolutionDateByKey(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((System.DateTime)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getResolutionDateByIdReturn")] - public System.DateTime getResolutionDateById(string in0, long in1) - { - object[] results = this.Invoke("getResolutionDateById", new object[] { - in0, - in1}); - return ((System.DateTime)(results[0])); - } - - /// - public System.IAsyncResult BegingetResolutionDateById(string in0, long in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getResolutionDateById", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public System.DateTime EndgetResolutionDateById(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((System.DateTime)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssueCountForFilterReturn")] - public long getIssueCountForFilter(string in0, string in1) - { - object[] results = this.Invoke("getIssueCountForFilter", new object[] { - in0, - in1}); - return ((long)(results[0])); - } - - /// - public System.IAsyncResult BegingetIssueCountForFilter(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssueCountForFilter", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public long EndgetIssueCountForFilter(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((long)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromTextSearchReturn")] - public RemoteIssue[] getIssuesFromTextSearch(string in0, string in1) - { - object[] results = this.Invoke("getIssuesFromTextSearch", new object[] { - in0, - in1}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromTextSearch(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromTextSearch", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromTextSearch(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromTextSearchWithProjectReturn")] - public RemoteIssue[] getIssuesFromTextSearchWithProject(string in0, string[] in1, string in2, int in3) - { - object[] results = this.Invoke("getIssuesFromTextSearchWithProject", new object[] { - in0, - in1, - in2, - in3}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromTextSearchWithProject(string in0, string[] in1, string in2, int in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromTextSearchWithProject", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromTextSearchWithProject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromJqlSearchReturn")] - public RemoteIssue[] getIssuesFromJqlSearch(string in0, string in1, int in2) - { - object[] results = this.Invoke("getIssuesFromJqlSearch", new object[] { - in0, - in1, - in2}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromJqlSearch(string in0, string in1, int in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromJqlSearch", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromJqlSearch(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteUser(string in0, string in1) - { - this.Invoke("deleteUser", new object[] { - in0, - in1}); - } - - /// - public System.IAsyncResult BegindeleteUser(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteUser", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public void EnddeleteUser(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("updateGroupReturn")] - public RemoteGroup updateGroup(string in0, RemoteGroup in1) - { - object[] results = this.Invoke("updateGroup", new object[] { - in0, - in1}); - return ((RemoteGroup)(results[0])); - } - - /// - public System.IAsyncResult BeginupdateGroup(string in0, RemoteGroup in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("updateGroup", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteGroup EndupdateGroup(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteGroup)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void deleteGroup(string in0, string in1, string in2) - { - this.Invoke("deleteGroup", new object[] { - in0, - in1, - in2}); - } - - /// - public System.IAsyncResult BegindeleteGroup(string in0, string in1, string in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("deleteGroup", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public void EnddeleteGroup(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void refreshCustomFields(string in0) - { - this.Invoke("refreshCustomFields", new object[] { - in0}); - } - - /// - public System.IAsyncResult BeginrefreshCustomFields(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("refreshCustomFields", new object[] { - in0}, callback, asyncState); - } - - /// - public void EndrefreshCustomFields(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSavedFiltersReturn")] - public RemoteFilter[] getSavedFilters(string in0) - { - object[] results = this.Invoke("getSavedFilters", new object[] { - in0}); - return ((RemoteFilter[])(results[0])); - } - - /// - public System.IAsyncResult BegingetSavedFilters(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSavedFilters", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteFilter[] EndgetSavedFilters(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteFilter[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addBase64EncodedAttachmentsToIssueReturn")] - public bool addBase64EncodedAttachmentsToIssue(string in0, string in1, string[] in2, string[] in3) - { - object[] results = this.Invoke("addBase64EncodedAttachmentsToIssue", new object[] { - in0, - in1, - in2, - in3}); - return ((bool)(results[0])); - } - - /// - public System.IAsyncResult BeginaddBase64EncodedAttachmentsToIssue(string in0, string in1, string[] in2, string[] in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addBase64EncodedAttachmentsToIssue", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public bool EndaddBase64EncodedAttachmentsToIssue(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((bool)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("createProjectFromObjectReturn")] - public RemoteProject createProjectFromObject(string in0, RemoteProject in1) - { - object[] results = this.Invoke("createProjectFromObject", new object[] { - in0, - in1}); - return ((RemoteProject)(results[0])); - } - - /// - public System.IAsyncResult BegincreateProjectFromObject(string in0, RemoteProject in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("createProjectFromObject", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteProject EndcreateProjectFromObject(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getSecuritySchemesReturn")] - public RemoteScheme[] getSecuritySchemes(string in0) - { - object[] results = this.Invoke("getSecuritySchemes", new object[] { - in0}); - return ((RemoteScheme[])(results[0])); - } - - /// - public System.IAsyncResult BegingetSecuritySchemes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getSecuritySchemes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteScheme[] EndgetSecuritySchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteScheme[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("addVersionReturn")] - public RemoteVersion addVersion(string in0, string in1, RemoteVersion in2) - { - object[] results = this.Invoke("addVersion", new object[] { - in0, - in1, - in2}); - return ((RemoteVersion)(results[0])); - } - - /// - public System.IAsyncResult BeginaddVersion(string in0, string in1, RemoteVersion in2, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("addVersion", new object[] { - in0, - in1, - in2}, callback, asyncState); - } - - /// - public RemoteVersion EndaddVersion(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteVersion)(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromFilterReturn")] - public RemoteIssue[] getIssuesFromFilter(string in0, string in1) - { - object[] results = this.Invoke("getIssuesFromFilter", new object[] { - in0, - in1}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromFilter(string in0, string in1, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromFilter", new object[] { - in0, - in1}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromFilter(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromFilterWithLimitReturn")] - public RemoteIssue[] getIssuesFromFilterWithLimit(string in0, string in1, int in2, int in3) - { - object[] results = this.Invoke("getIssuesFromFilterWithLimit", new object[] { - in0, - in1, - in2, - in3}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromFilterWithLimit(string in0, string in1, int in2, int in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromFilterWithLimit", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromFilterWithLimit(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getIssuesFromTextSearchWithLimitReturn")] - public RemoteIssue[] getIssuesFromTextSearchWithLimit(string in0, string in1, int in2, int in3) - { - object[] results = this.Invoke("getIssuesFromTextSearchWithLimit", new object[] { - in0, - in1, - in2, - in3}); - return ((RemoteIssue[])(results[0])); - } - - /// - public System.IAsyncResult BegingetIssuesFromTextSearchWithLimit(string in0, string in1, int in2, int in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getIssuesFromTextSearchWithLimit", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public RemoteIssue[] EndgetIssuesFromTextSearchWithLimit(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteIssue[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - [return: SoapElement("getProjectsNoSchemesReturn")] - public RemoteProject[] getProjectsNoSchemes(string in0) - { - object[] results = this.Invoke("getProjectsNoSchemes", new object[] { - in0}); - return ((RemoteProject[])(results[0])); - } - - /// - public System.IAsyncResult BegingetProjectsNoSchemes(string in0, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("getProjectsNoSchemes", new object[] { - in0}, callback, asyncState); - } - - /// - public RemoteProject[] EndgetProjectsNoSchemes(System.IAsyncResult asyncResult) - { - object[] results = this.EndInvoke(asyncResult); - return ((RemoteProject[])(results[0])); - } - - /// - [SoapRpcMethod("", RequestNamespace="http://soap.rpc.jira.atlassian.com", ResponseNamespace="http://jira/rpc/soap/jirasoapservice-v2")] - public void setNewProjectAvatar(string in0, string in1, string in2, string in3) - { - this.Invoke("setNewProjectAvatar", new object[] { - in0, - in1, - in2, - in3}); - } - - /// - public System.IAsyncResult BeginsetNewProjectAvatar(string in0, string in1, string in2, string in3, System.AsyncCallback callback, object asyncState) - { - return this.BeginInvoke("setNewProjectAvatar", new object[] { - in0, - in1, - in2, - in3}, callback, asyncState); - } - - /// - public void EndsetNewProjectAvatar(System.IAsyncResult asyncResult) - { - this.EndInvoke(asyncResult); - } - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteComment - { - - /// - [SoapElement(IsNullable=true)] - public string author; - - /// - [SoapElement(IsNullable=true)] - public string body; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable created; - - /// - [SoapElement(IsNullable=true)] - public string groupLevel; - - /// - [SoapElement(IsNullable=true)] - public string id; - - /// - [SoapElement(IsNullable=true)] - public string roleLevel; - - /// - [SoapElement(IsNullable=true)] - public string updateAuthor; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable updated; - } - - /// - [SoapInclude(typeof(RemoteWorklogImpl))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteWorklog - { - - /// - [SoapElement(IsNullable=true)] - public string author; - - /// - [SoapElement(IsNullable=true)] - public string comment; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable created; - - /// - [SoapElement(IsNullable=true)] - public string groupLevel; - - /// - [SoapElement(IsNullable=true)] - public string id; - - /// - [SoapElement(IsNullable=true)] - public string roleLevelId; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable startDate; - - /// - [SoapElement(IsNullable=true)] - public string timeSpent; - - /// - public long timeSpentInSeconds; - - /// - [SoapElement(IsNullable=true)] - public string updateAuthor; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable updated; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://service.soap.rpc.jira.atlassian.com")] - public partial class RemoteWorklogImpl : RemoteWorklog - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteAvatar - { - - /// - [SoapElement(IsNullable=true)] - public string base64Data; - - /// - [SoapElement(IsNullable=true)] - public string contentType; - - /// - public long id; - - /// - [SoapElement(IsNullable=true)] - public string owner; - - /// - public bool system; - - /// - [SoapElement(IsNullable=true)] - public string type; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteRoleActor - { - - /// - [SoapElement(IsNullable=true)] - public string descriptor; - - /// - [SoapElement(IsNullable=true)] - public string parameter; - - /// - [SoapElement(IsNullable=true)] - public RemoteProjectRole projectRole; - - /// - [SoapElement(IsNullable=true)] - public string type; - - /// - [SoapElement(IsNullable=true)] - public RemoteUser[] users; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteProjectRole - { - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable id; - - /// - [SoapElement(IsNullable=true)] - public string name; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteUser : RemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string email; - - /// - [SoapElement(IsNullable=true)] - public string fullname; - - /// - [SoapElement(IsNullable=true)] - public string name; - } - - /// - [SoapInclude(typeof(RemoteGroup))] - [SoapInclude(typeof(RemoteUser))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteEntity - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteGroup : RemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string name; - - /// - [SoapElement(IsNullable=true)] - public RemoteUser[] users; - } - - /// - [SoapInclude(typeof(RemoteProjectRoleActors))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteRoleActors - { - - /// - [SoapElement(IsNullable=true)] - public RemoteProjectRole projectRole; - - /// - [SoapElement(IsNullable=true)] - public RemoteRoleActor[] roleActors; - - /// - [SoapElement(IsNullable=true)] - public RemoteUser[] users; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteProjectRoleActors : RemoteRoleActors - { - - /// - [SoapElement(IsNullable=true)] - public RemoteProject project; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteProject : AbstractNamedRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public RemoteScheme issueSecurityScheme; - - /// - [SoapElement(IsNullable=true)] - public string key; - - /// - [SoapElement(IsNullable=true)] - public string lead; - - /// - [SoapElement(IsNullable=true)] - public RemoteScheme notificationScheme; - - /// - [SoapElement(IsNullable=true)] - public RemotePermissionScheme permissionScheme; - - /// - [SoapElement(IsNullable=true)] - public string projectUrl; - - /// - [SoapElement(IsNullable=true)] - public string url; - } - - /// - [SoapInclude(typeof(RemotePermissionScheme))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteScheme - { - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable id; - - /// - [SoapElement(IsNullable=true)] - public string name; - - /// - [SoapElement(IsNullable=true)] - public string type; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemotePermissionScheme : RemoteScheme - { - - /// - [SoapElement(IsNullable=true)] - public RemotePermissionMapping[] permissionMappings; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemotePermissionMapping - { - - /// - [SoapElement(IsNullable=true)] - public RemotePermission permission; - - /// - [SoapElement(IsNullable=true)] - public RemoteEntity[] remoteEntities; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemotePermission - { - - /// - [SoapElement(IsNullable=true)] - public string name; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable permission; - } - - /// - [SoapInclude(typeof(RemoteSecurityLevel))] - [SoapInclude(typeof(RemoteFilter))] - [SoapInclude(typeof(RemoteField))] - [SoapInclude(typeof(RemoteProject))] - [SoapInclude(typeof(AbstractRemoteConstant))] - [SoapInclude(typeof(RemoteStatus))] - [SoapInclude(typeof(RemoteResolution))] - [SoapInclude(typeof(RemotePriority))] - [SoapInclude(typeof(RemoteIssueType))] - [SoapInclude(typeof(RemoteNamedObject))] - [SoapInclude(typeof(RemoteComponent))] - [SoapInclude(typeof(RemoteVersion))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public abstract partial class AbstractNamedRemoteEntity : AbstractRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string name; - } - - /// - [SoapInclude(typeof(RemoteAttachment))] - [SoapInclude(typeof(RemoteIssue))] - [SoapInclude(typeof(AbstractNamedRemoteEntity))] - [SoapInclude(typeof(RemoteSecurityLevel))] - [SoapInclude(typeof(RemoteFilter))] - [SoapInclude(typeof(RemoteField))] - [SoapInclude(typeof(RemoteProject))] - [SoapInclude(typeof(AbstractRemoteConstant))] - [SoapInclude(typeof(RemoteStatus))] - [SoapInclude(typeof(RemoteResolution))] - [SoapInclude(typeof(RemotePriority))] - [SoapInclude(typeof(RemoteIssueType))] - [SoapInclude(typeof(RemoteNamedObject))] - [SoapInclude(typeof(RemoteComponent))] - [SoapInclude(typeof(RemoteVersion))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public abstract partial class AbstractRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string id; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteAttachment : AbstractRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string author; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable created; - - /// - [SoapElement(IsNullable=true)] - public string filename; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable filesize; - - /// - [SoapElement(IsNullable=true)] - public string mimetype; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteIssue : AbstractRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public RemoteVersion[] affectsVersions; - - /// - [SoapElement(IsNullable=true)] - public string assignee; - - /// - [SoapElement(IsNullable=true)] - public string[] attachmentNames; - - /// - [SoapElement(IsNullable=true)] - public RemoteComponent[] components; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable created; - - /// - [SoapElement(IsNullable=true)] - public RemoteCustomFieldValue[] customFieldValues; - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable duedate; - - /// - [SoapElement(IsNullable=true)] - public string environment; - - /// - [SoapElement(IsNullable=true)] - public RemoteVersion[] fixVersions; - - /// - [SoapElement(IsNullable=true)] - public string key; - - /// - [SoapElement(IsNullable=true)] - public string priority; - - /// - [SoapElement(IsNullable=true)] - public string project; - - /// - [SoapElement(IsNullable=true)] - public string reporter; - - /// - [SoapElement(IsNullable=true)] - public string resolution; - - /// - [SoapElement(IsNullable=true)] - public string status; - - /// - [SoapElement(IsNullable=true)] - public string summary; - - /// - [SoapElement(IsNullable=true)] - public string type; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable updated; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable votes; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteVersion : AbstractNamedRemoteEntity - { - - /// - public bool archived; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable releaseDate; - - /// - public bool released; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable sequence; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteComponent : AbstractNamedRemoteEntity - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteCustomFieldValue - { - - /// - [SoapElement(IsNullable=true)] - public string customfieldId; - - /// - [SoapElement(IsNullable=true)] - public string key; - - /// - [SoapElement(IsNullable=true)] - public string[] values; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteSecurityLevel : AbstractNamedRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string description; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteFilter : AbstractNamedRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string author; - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public string project; - - /// - [SoapElement(IsNullable=true)] - public string xml; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteField : AbstractNamedRemoteEntity - { - } - - /// - [SoapInclude(typeof(RemoteStatus))] - [SoapInclude(typeof(RemoteResolution))] - [SoapInclude(typeof(RemotePriority))] - [SoapInclude(typeof(RemoteIssueType))] - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public abstract partial class AbstractRemoteConstant : AbstractNamedRemoteEntity - { - - /// - [SoapElement(IsNullable=true)] - public string description; - - /// - [SoapElement(IsNullable=true)] - public string icon; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteStatus : AbstractRemoteConstant - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteResolution : AbstractRemoteConstant - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemotePriority : AbstractRemoteConstant - { - - /// - [SoapElement(IsNullable=true)] - public string color; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteIssueType : AbstractRemoteConstant - { - - /// - public bool subTask; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteNamedObject : AbstractNamedRemoteEntity - { - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteConfiguration - { - - /// - public bool allowAttachments; - - /// - public bool allowExternalUserManagment; - - /// - public bool allowIssueLinking; - - /// - public bool allowSubTasks; - - /// - public bool allowTimeTracking; - - /// - public bool allowUnassignedIssues; - - /// - public bool allowVoting; - - /// - public bool allowWatching; - - /// - public int timeTrackingDaysPerWeek; - - /// - public int timeTrackingHoursPerDay; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteFieldValue - { - - /// - [SoapElement(IsNullable=true)] - public string id; - - /// - [SoapElement(IsNullable=true)] - public string[] values; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteTimeInfo - { - - /// - [SoapElement(IsNullable=true)] - public string serverTime; - - /// - [SoapElement(IsNullable=true)] - public string timeZoneId; - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("SharpDevelop", "3.2.0.5777")] - [Serializable()] - [DebuggerStepThrough()] - [DesignerCategory("code")] - [SoapType(Namespace="http://beans.soap.rpc.jira.atlassian.com")] - public partial class RemoteServerInfo - { - - /// - [SoapElement(IsNullable=true)] - public string baseUrl; - - /// - [SoapElement(IsNullable=true)] - public System.Nullable buildDate; - - /// - [SoapElement(IsNullable=true)] - public string buildNumber; - - /// - [SoapElement(IsNullable=true)] - public string edition; - - /// - [SoapElement(IsNullable=true)] - public RemoteTimeInfo serverTime; - - /// - [SoapElement(IsNullable=true)] - public string version; - } -} diff --git a/GreenshotJiraPlugin/packages.config b/GreenshotJiraPlugin/packages.config new file mode 100644 index 000000000..9baf9d660 --- /dev/null +++ b/GreenshotJiraPlugin/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/GreenshotPlugin/Controls/PleaseWaitForm.cs b/GreenshotPlugin/Controls/PleaseWaitForm.cs index 17978419d..cd2e6b0ba 100644 --- a/GreenshotPlugin/Controls/PleaseWaitForm.cs +++ b/GreenshotPlugin/Controls/PleaseWaitForm.cs @@ -30,8 +30,8 @@ namespace GreenshotPlugin.Controls { /// public partial class PleaseWaitForm : Form { private static readonly ILog LOG = LogManager.GetLogger(typeof(PleaseWaitForm)); - private Thread waitFor; - private string title; + private Thread _waitFor; + private string _title; public PleaseWaitForm() { // // The InitializeComponent() call is required for Windows Forms designer support. @@ -60,7 +60,7 @@ namespace GreenshotPlugin.Controls { /// The text in the form /// delegate { with your code } public void ShowAndWait(string title, string text, ThreadStart waitDelegate) { - this.title = title; + _title = title; Text = title; label_pleasewait.Text = text; cancelButton.Text = Language.GetString("CANCEL"); @@ -72,23 +72,29 @@ namespace GreenshotPlugin.Controls { Exception threadException = null; try { // Wrap the passed delegate in a try/catch which makes it possible to save the exception - waitFor = new Thread(new ThreadStart( - delegate { - try { - waitDelegate.Invoke(); - } catch (Exception ex) { - LOG.Error("invoke error:", ex); - threadException = ex; - } - }) - ); - waitFor.Name = title; - waitFor.IsBackground = true; - waitFor.SetApartmentState(ApartmentState.STA); - waitFor.Start(); + _waitFor = new Thread(new ThreadStart( + delegate + { + try + { + waitDelegate.Invoke(); + } + catch (Exception ex) + { + LOG.Error("invoke error:", ex); + threadException = ex; + } + }) + ) + { + Name = title, + IsBackground = true + }; + _waitFor.SetApartmentState(ApartmentState.STA); + _waitFor.Start(); // Wait until finished - while (!waitFor.Join(TimeSpan.FromMilliseconds(100))) { + while (!_waitFor.Join(TimeSpan.FromMilliseconds(100))) { Application.DoEvents(); } LOG.DebugFormat("Finished {0}", title); @@ -110,9 +116,9 @@ namespace GreenshotPlugin.Controls { /// /// void CancelButtonClick(object sender, EventArgs e) { - LOG.DebugFormat("Cancel clicked on {0}", title); + LOG.DebugFormat("Cancel clicked on {0}", _title); cancelButton.Enabled = false; - waitFor.Abort(); + _waitFor.Abort(); } } } diff --git a/GreenshotPlugin/Core/NetworkHelper.cs b/GreenshotPlugin/Core/NetworkHelper.cs index ff0e43fdb..993e63927 100644 --- a/GreenshotPlugin/Core/NetworkHelper.cs +++ b/GreenshotPlugin/Core/NetworkHelper.cs @@ -555,6 +555,8 @@ namespace GreenshotPlugin.Core { string ToBase64String(Base64FormattingOptions formattingOptions); byte[] ToByteArray(); void Upload(HttpWebRequest webRequest); + + string ContentType { get; } } /// @@ -634,6 +636,8 @@ namespace GreenshotPlugin.Core { WriteToStream(requestStream); } } + + public string ContentType => _contentType; } /// @@ -686,7 +690,7 @@ namespace GreenshotPlugin.Core { boundary, name, _fileName ?? name, - "image/" + _outputSettings.Format); + ContentType); formDataStream.Write(Encoding.UTF8.GetBytes(header), 0, Encoding.UTF8.GetByteCount(header)); ImageOutput.SaveToStream(_bitmap, null, formDataStream, _outputSettings); @@ -711,6 +715,8 @@ namespace GreenshotPlugin.Core { WriteToStream(requestStream); } } + + public string ContentType => "image/" + _outputSettings.Format; } /// @@ -763,7 +769,7 @@ namespace GreenshotPlugin.Core { boundary, name, _fileName ?? name, - "image/" + _outputSettings.Format); + ContentType); formDataStream.Write(Encoding.UTF8.GetBytes(header), 0, Encoding.UTF8.GetByteCount(header)); ImageOutput.SaveToStream(_surface, formDataStream, _outputSettings); @@ -783,10 +789,12 @@ namespace GreenshotPlugin.Core { /// /// public void Upload(HttpWebRequest webRequest) { - webRequest.ContentType = "image/" + _outputSettings.Format.ToString(); + webRequest.ContentType = ContentType; using (var requestStream = webRequest.GetRequestStream()) { WriteToStream(requestStream); } } + + public string ContentType => "image/" + _outputSettings.Format; } }