It might sound old school and the JIRA SOAP service is announced to be removed with version 7 (https://developer.atlassian.com/display/JIRADEV/Preparing+for+JIRA+6.0#PreparingforJIRA6.0-SOAPandXML-RPCdeprecatedinJIRA6.0) but the JIRA SOAP protocol is really easy to use from PowerShell as of the nifty ‘New-WebServiceProxy’ Cmdlet that abstract the SOAP protocol behind typed .Net objects.
So whenever you want to do a quick upload of a screenshot or get a list of issues for a project you can make it happen with a few lines of PowerShell. The SOAP service itself is reachable via the following URL: ‘https://jira.example.com/rpc/soap/jirasoapservice-v2?wsdl’ where you can study its WSDL if you prefer not too look at the official documentation at: ‘https://docs.atlassian.com/rpc-jira-plugin/4.4/com/atlassian/jira/rpc/soap/JiraSoapService.html’
PARAM ( [Parameter(Mandatory = $false, Position = 0)] [alias("u")] [string] $UriBase = "www.example.com" , [Parameter(Mandatory = $false, Position = 1)] [alias("Credential")] [PSCredential] $cred = (Import-CliXml C:\data\scripts\Cred-Jira-Admin.xml) ) $Uri = 'https://{0}/rpc/soap/jirasoapservice-v2?wsdl' -f $UriBase; $jwsp = New-WebServiceProxy -Uri $Uri -Namespace Jira -Class Jira -Credential $cred; $l = $jwsp.login($cred.UserName, $cred.GetNetworkCredential().Password); return @{'JiraService' = $jwsp; 'LoginToken' = $l};
Having a look at the methods of the SOAP service via ‘Get-Member’ reveals most of its functionality. After ignoring all ‘Async’ and ‘Completed’ methods you will see that the service accepts input parameter in the form ‘in0’, ‘in1’, … which are not too self-describing. At look at the documentation will help out, bit a general ‘rule’ is that the first parameter contains the logintoken:
addActorsToProjectRoleCompleted Event j.addActorsToProjectRoleCompletedEventHandler addActorsToProjectRoleCompleted... addAttachmentsToIssueCompleted Event j.addAttachmentsToIssueCompletedEventHandler addAttachmentsToIssueCompleted(S... addBase64EncodedAttachmentsToIssueCompleted Event j.addBase64EncodedAttachmentsToIssueCompletedEventHandler addBase64EncodedAtt... addCommentCompleted Event j.addCommentCompletedEventHandler addCommentCompleted(System.Object, System.C... addDefaultActorsToProjectRoleCompleted Event j.addDefaultActorsToProjectRoleCompletedEventHandler addDefaultActorsToProjec... addPermissionToCompleted Event j.addPermissionToCompletedEventHandler addPermissionToCompleted(System.Object... addUserToGroupCompleted Event j.addUserToGroupCompletedEventHandler addUserToGroupCompleted(System.Object, ... addVersionCompleted Event j.addVersionCompletedEventHandler addVersionCompleted(System.Object, j.addVer... addWorklogAndAutoAdjustRemainingEstimateCompleted Event j.addWorklogAndAutoAdjustRemainingEstimateCompletedEventHandler addWorklogAnd... addWorklogAndRetainRemainingEstimateCompleted Event j.addWorklogAndRetainRemainingEstimateCompletedEventHandler addWorklogAndReta... addWorklogWithNewRemainingEstimateCompleted Event j.addWorklogWithNewRemainingEstimateCompletedEventHandler addWorklogWithNewRe... archiveVersionCompleted Event j.archiveVersionCompletedEventHandler archiveVersionCompleted(System.Object, ... createGroupCompleted Event j.createGroupCompletedEventHandler createGroupCompleted(System.Object, j.crea... createIssueCompleted Event j.createIssueCompletedEventHandler createIssueCompleted(System.Object, j.crea... createIssueWithParentCompleted Event j.createIssueWithParentCompletedEventHandler createIssueWithParentCompleted(S... createIssueWithParentWithSecurityLevelCompleted Event j.createIssueWithParentWithSecurityLevelCompletedEventHandler createIssueWith... createIssueWithSecurityLevelCompleted Event j.createIssueWithSecurityLevelCompletedEventHandler createIssueWithSecurityLe... createPermissionSchemeCompleted Event j.createPermissionSchemeCompletedEventHandler createPermissionSchemeCompleted... createProjectCompleted Event j.createProjectCompletedEventHandler createProjectCompleted(System.Object, j.... createProjectFromObjectCompleted Event j.createProjectFromObjectCompletedEventHandler createProjectFromObjectComplet... createProjectRoleCompleted Event j.createProjectRoleCompletedEventHandler createProjectRoleCompleted(System.Ob... createUserCompleted Event j.createUserCompletedEventHandler createUserCompleted(System.Object, j.create... deleteGroupCompleted Event j.deleteGroupCompletedEventHandler deleteGroupCompleted(System.Object, System... deleteIssueCompleted Event j.deleteIssueCompletedEventHandler deleteIssueCompleted(System.Object, System... deletePermissionFromCompleted Event j.deletePermissionFromCompletedEventHandler deletePermissionFromCompleted(Sys... deletePermissionSchemeCompleted Event j.deletePermissionSchemeCompletedEventHandler deletePermissionSchemeCompleted... deleteProjectAvatarCompleted Event j.deleteProjectAvatarCompletedEventHandler deleteProjectAvatarCompleted(Syste... deleteProjectCompleted Event j.deleteProjectCompletedEventHandler deleteProjectCompleted(System.Object, Sy... deleteProjectRoleCompleted Event j.deleteProjectRoleCompletedEventHandler deleteProjectRoleCompleted(System.Ob... deleteUserCompleted Event j.deleteUserCompletedEventHandler deleteUserCompleted(System.Object, System.C... deleteWorklogAndAutoAdjustRemainingEstimateCompleted Event j.deleteWorklogAndAutoAdjustRemainingEstimateCompletedEventHandler deleteWork... deleteWorklogAndRetainRemainingEstimateCompleted Event j.deleteWorklogAndRetainRemainingEstimateCompletedEventHandler deleteWorklogA... deleteWorklogWithNewRemainingEstimateCompleted Event j.deleteWorklogWithNewRemainingEstimateCompletedEventHandler deleteWorklogWit... Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs) editCommentCompleted Event j.editCommentCompletedEventHandler editCommentCompleted(System.Object, j.edit... getAllPermissionsCompleted Event j.getAllPermissionsCompletedEventHandler getAllPermissionsCompleted(System.Ob... getAssociatedNotificationSchemesCompleted Event j.getAssociatedNotificationSchemesCompletedEventHandler getAssociatedNotifica... getAssociatedPermissionSchemesCompleted Event j.getAssociatedPermissionSchemesCompletedEventHandler getAssociatedPermission... getAttachmentsFromIssueCompleted Event j.getAttachmentsFromIssueCompletedEventHandler getAttachmentsFromIssueComplet... getAvailableActionsCompleted Event j.getAvailableActionsCompletedEventHandler getAvailableActionsCompleted(Syste... getCommentCompleted Event j.getCommentCompletedEventHandler getCommentCompleted(System.Object, j.getCom... getCommentsCompleted Event j.getCommentsCompletedEventHandler getCommentsCompleted(System.Object, j.getC... getComponentsCompleted Event j.getComponentsCompletedEventHandler getComponentsCompleted(System.Object, j.... getConfigurationCompleted Event j.getConfigurationCompletedEventHandler getConfigurationCompleted(System.Obje... getCustomFieldsCompleted Event j.getCustomFieldsCompletedEventHandler getCustomFieldsCompleted(System.Object... getDefaultRoleActorsCompleted Event j.getDefaultRoleActorsCompletedEventHandler getDefaultRoleActorsCompleted(Sys... getFavouriteFiltersCompleted Event j.getFavouriteFiltersCompletedEventHandler getFavouriteFiltersCompleted(Syste... getFieldsForActionCompleted Event j.getFieldsForActionCompletedEventHandler getFieldsForActionCompleted(System.... getFieldsForCreateCompleted Event j.getFieldsForCreateCompletedEventHandler getFieldsForCreateCompleted(System.... getFieldsForEditCompleted Event j.getFieldsForEditCompletedEventHandler getFieldsForEditCompleted(System.Obje... getGroupCompleted Event j.getGroupCompletedEventHandler getGroupCompleted(System.Object, j.getGroupCo... getIssueByIdCompleted Event j.getIssueByIdCompletedEventHandler getIssueByIdCompleted(System.Object, j.ge... getIssueCompleted Event j.getIssueCompletedEventHandler getIssueCompleted(System.Object, j.getIssueCo... getIssueCountForFilterCompleted Event j.getIssueCountForFilterCompletedEventHandler getIssueCountForFilterCompleted... getIssuesFromFilterCompleted Event j.getIssuesFromFilterCompletedEventHandler getIssuesFromFilterCompleted(Syste... getIssuesFromFilterWithLimitCompleted Event j.getIssuesFromFilterWithLimitCompletedEventHandler getIssuesFromFilterWithLi... getIssuesFromJqlSearchCompleted Event j.getIssuesFromJqlSearchCompletedEventHandler getIssuesFromJqlSearchCompleted... getIssuesFromTextSearchCompleted Event j.getIssuesFromTextSearchCompletedEventHandler getIssuesFromTextSearchComplet... getIssuesFromTextSearchWithLimitCompleted Event j.getIssuesFromTextSearchWithLimitCompletedEventHandler getIssuesFromTextSear... getIssuesFromTextSearchWithProjectCompleted Event j.getIssuesFromTextSearchWithProjectCompletedEventHandler getIssuesFromTextSe... getIssueTypesCompleted Event j.getIssueTypesCompletedEventHandler getIssueTypesCompleted(System.Object, j.... getIssueTypesForProjectCompleted Event j.getIssueTypesForProjectCompletedEventHandler getIssueTypesForProjectComplet... getNotificationSchemesCompleted Event j.getNotificationSchemesCompletedEventHandler getNotificationSchemesCompleted... getPermissionSchemesCompleted Event j.getPermissionSchemesCompletedEventHandler getPermissionSchemesCompleted(Sys... getPrioritiesCompleted Event j.getPrioritiesCompletedEventHandler getPrioritiesCompleted(System.Object, j.... getProjectAvatarCompleted Event j.getProjectAvatarCompletedEventHandler getProjectAvatarCompleted(System.Obje... getProjectAvatarsCompleted Event j.getProjectAvatarsCompletedEventHandler getProjectAvatarsCompleted(System.Ob... getProjectByIdCompleted Event j.getProjectByIdCompletedEventHandler getProjectByIdCompleted(System.Object, ... getProjectByKeyCompleted Event j.getProjectByKeyCompletedEventHandler getProjectByKeyCompleted(System.Object... getProjectRoleActorsCompleted Event j.getProjectRoleActorsCompletedEventHandler getProjectRoleActorsCompleted(Sys... getProjectRoleCompleted Event j.getProjectRoleCompletedEventHandler getProjectRoleCompleted(System.Object, ... getProjectRolesCompleted Event j.getProjectRolesCompletedEventHandler getProjectRolesCompleted(System.Object... getProjectsNoSchemesCompleted Event j.getProjectsNoSchemesCompletedEventHandler getProjectsNoSchemesCompleted(Sys... getProjectWithSchemesByIdCompleted Event j.getProjectWithSchemesByIdCompletedEventHandler getProjectWithSchemesByIdCom... getResolutionDateByIdCompleted Event j.getResolutionDateByIdCompletedEventHandler getResolutionDateByIdCompleted(S... getResolutionDateByKeyCompleted Event j.getResolutionDateByKeyCompletedEventHandler getResolutionDateByKeyCompleted... getResolutionsCompleted Event j.getResolutionsCompletedEventHandler getResolutionsCompleted(System.Object, ... getSavedFiltersCompleted Event j.getSavedFiltersCompletedEventHandler getSavedFiltersCompleted(System.Object... getSecurityLevelCompleted Event j.getSecurityLevelCompletedEventHandler getSecurityLevelCompleted(System.Obje... getSecurityLevelsCompleted Event j.getSecurityLevelsCompletedEventHandler getSecurityLevelsCompleted(System.Ob... getSecuritySchemesCompleted Event j.getSecuritySchemesCompletedEventHandler getSecuritySchemesCompleted(System.... getServerInfoCompleted Event j.getServerInfoCompletedEventHandler getServerInfoCompleted(System.Object, j.... getStatusesCompleted Event j.getStatusesCompletedEventHandler getStatusesCompleted(System.Object, j.getS... getSubTaskIssueTypesCompleted Event j.getSubTaskIssueTypesCompletedEventHandler getSubTaskIssueTypesCompleted(Sys... getSubTaskIssueTypesForProjectCompleted Event j.getSubTaskIssueTypesForProjectCompletedEventHandler getSubTaskIssueTypesFor... getUserCompleted Event j.getUserCompletedEventHandler getUserCompleted(System.Object, j.getUserCompl... getVersionsCompleted Event j.getVersionsCompletedEventHandler getVersionsCompleted(System.Object, j.getV... getWorklogsCompleted Event j.getWorklogsCompletedEventHandler getWorklogsCompleted(System.Object, j.getW... hasPermissionToCreateWorklogCompleted Event j.hasPermissionToCreateWorklogCompletedEventHandler hasPermissionToCreateWork... hasPermissionToDeleteWorklogCompleted Event j.hasPermissionToDeleteWorklogCompletedEventHandler hasPermissionToDeleteWork... hasPermissionToEditCommentCompleted Event j.hasPermissionToEditCommentCompletedEventHandler hasPermissionToEditCommentC... hasPermissionToUpdateWorklogCompleted Event j.hasPermissionToUpdateWorklogCompletedEventHandler hasPermissionToUpdateWork... isProjectRoleNameUniqueCompleted Event j.isProjectRoleNameUniqueCompletedEventHandler isProjectRoleNameUniqueComplet... loginCompleted Event j.loginCompletedEventHandler loginCompleted(System.Object, j.loginCompletedEv... logoutCompleted Event j.logoutCompletedEventHandler logoutCompleted(System.Object, j.logoutComplete... progressWorkflowActionCompleted Event j.progressWorkflowActionCompletedEventHandler progressWorkflowActionCompleted... refreshCustomFieldsCompleted Event j.refreshCustomFieldsCompletedEventHandler refreshCustomFieldsCompleted(Syste... releaseVersionCompleted Event j.releaseVersionCompletedEventHandler releaseVersionCompleted(System.Object, ... removeActorsFromProjectRoleCompleted Event j.removeActorsFromProjectRoleCompletedEventHandler removeActorsFromProjectRol... removeAllRoleActorsByNameAndTypeCompleted Event j.removeAllRoleActorsByNameAndTypeCompletedEventHandler removeAllRoleActorsBy... removeAllRoleActorsByProjectCompleted Event j.removeAllRoleActorsByProjectCompletedEventHandler removeAllRoleActorsByProj... removeDefaultActorsFromProjectRoleCompleted Event j.removeDefaultActorsFromProjectRoleCompletedEventHandler removeDefaultActors... removeUserFromGroupCompleted Event j.removeUserFromGroupCompletedEventHandler removeUserFromGroupCompleted(Syste... setNewProjectAvatarCompleted Event j.setNewProjectAvatarCompletedEventHandler setNewProjectAvatarCompleted(Syste... setProjectAvatarCompleted Event j.setProjectAvatarCompletedEventHandler setProjectAvatarCompleted(System.Obje... setUserPasswordCompleted Event j.setUserPasswordCompletedEventHandler setUserPasswordCompleted(System.Object... updateGroupCompleted Event j.updateGroupCompletedEventHandler updateGroupCompleted(System.Object, j.upda... updateIssueCompleted Event j.updateIssueCompletedEventHandler updateIssueCompleted(System.Object, j.upda... updateProjectCompleted Event j.updateProjectCompletedEventHandler updateProjectCompleted(System.Object, j.... updateProjectRoleCompleted Event j.updateProjectRoleCompletedEventHandler updateProjectRoleCompleted(System.Ob... updateUserCompleted Event j.updateUserCompletedEventHandler updateUserCompleted(System.Object, j.update... updateWorklogAndAutoAdjustRemainingEstimateCompleted Event j.updateWorklogAndAutoAdjustRemainingEstimateCompletedEventHandler updateWork... updateWorklogAndRetainRemainingEstimateCompleted Event j.updateWorklogAndRetainRemainingEstimateCompletedEventHandler updateWorklogA... updateWorklogWithNewRemainingEstimateCompleted Event j.updateWorklogWithNewRemainingEstimateCompletedEventHandler updateWorklogWit... Abort Method void Abort() addActorsToProjectRole Method void addActorsToProjectRole(string in0, string[] in1, j.RemoteProjectRole in2... addActorsToProjectRoleAsync Method void addActorsToProjectRoleAsync(string in0, string[] in1, j.RemoteProjectRol... addAttachmentsToIssue Method bool addAttachmentsToIssue(string in0, string in1, string[] in2, sbyte[] in3) addAttachmentsToIssueAsync Method void addAttachmentsToIssueAsync(string in0, string in1, string[] in2, sbyte[]... addBase64EncodedAttachmentsToIssue Method bool addBase64EncodedAttachmentsToIssue(string in0, string in1, string[] in2,... addBase64EncodedAttachmentsToIssueAsync Method void addBase64EncodedAttachmentsToIssueAsync(string in0, string in1, string[]... addComment Method void addComment(string in0, string in1, j.RemoteComment in2) addCommentAsync Method void addCommentAsync(string in0, string in1, j.RemoteComment in2), void addCo... addDefaultActorsToProjectRole Method void addDefaultActorsToProjectRole(string in0, string[] in1, j.RemoteProjectR... addDefaultActorsToProjectRoleAsync Method void addDefaultActorsToProjectRoleAsync(string in0, string[] in1, j.RemotePro... addPermissionTo Method j.RemotePermissionScheme addPermissionTo(string in0, j.RemotePermissionScheme... addPermissionToAsync Method void addPermissionToAsync(string in0, j.RemotePermissionScheme in1, j.RemoteP... addUserToGroup Method void addUserToGroup(string in0, j.RemoteGroup in1, j.RemoteUser in2) addUserToGroupAsync Method void addUserToGroupAsync(string in0, j.RemoteGroup in1, j.RemoteUser in2), vo... addVersion Method j.RemoteVersion addVersion(string in0, string in1, j.RemoteVersion in2) addVersionAsync Method void addVersionAsync(string in0, string in1, j.RemoteVersion in2), void addVe... addWorklogAndAutoAdjustRemainingEstimate Method j.RemoteWorklog addWorklogAndAutoAdjustRemainingEstimate(string in0, string i... addWorklogAndAutoAdjustRemainingEstimateAsync Method void addWorklogAndAutoAdjustRemainingEstimateAsync(string in0, string in1, j.... addWorklogAndRetainRemainingEstimate Method j.RemoteWorklog addWorklogAndRetainRemainingEstimate(string in0, string in1, ... addWorklogAndRetainRemainingEstimateAsync Method void addWorklogAndRetainRemainingEstimateAsync(string in0, string in1, j.Remo... addWorklogWithNewRemainingEstimate Method j.RemoteWorklog addWorklogWithNewRemainingEstimate(string in0, string in1, j.... addWorklogWithNewRemainingEstimateAsync Method void addWorklogWithNewRemainingEstimateAsync(string in0, string in1, j.Remote... archiveVersion Method void archiveVersion(string in0, string in1, string in2, bool in3) archiveVersionAsync Method void archiveVersionAsync(string in0, string in1, string in2, bool in3), void ... BeginaddActorsToProjectRole Method System.IAsyncResult BeginaddActorsToProjectRole(string in0, string[] in1, j.R... BeginaddAttachmentsToIssue Method System.IAsyncResult BeginaddAttachmentsToIssue(string in0, string in1, string... BeginaddBase64EncodedAttachmentsToIssue Method System.IAsyncResult BeginaddBase64EncodedAttachmentsToIssue(string in0, strin... BeginaddComment Method System.IAsyncResult BeginaddComment(string in0, string in1, j.RemoteComment i... BeginaddDefaultActorsToProjectRole Method System.IAsyncResult BeginaddDefaultActorsToProjectRole(string in0, string[] i... BeginaddPermissionTo Method System.IAsyncResult BeginaddPermissionTo(string in0, j.RemotePermissionScheme... BeginaddUserToGroup Method System.IAsyncResult BeginaddUserToGroup(string in0, j.RemoteGroup in1, j.Remo... BeginaddVersion Method System.IAsyncResult BeginaddVersion(string in0, string in1, j.RemoteVersion i... BeginaddWorklogAndAutoAdjustRemainingEstimate Method System.IAsyncResult BeginaddWorklogAndAutoAdjustRemainingEstimate(string in0,... BeginaddWorklogAndRetainRemainingEstimate Method System.IAsyncResult BeginaddWorklogAndRetainRemainingEstimate(string in0, str... BeginaddWorklogWithNewRemainingEstimate Method System.IAsyncResult BeginaddWorklogWithNewRemainingEstimate(string in0, strin... BeginarchiveVersion Method System.IAsyncResult BeginarchiveVersion(string in0, string in1, string in2, b... BegincreateGroup Method System.IAsyncResult BegincreateGroup(string in0, string in1, j.RemoteUser in2... BegincreateIssue Method System.IAsyncResult BegincreateIssue(string in0, j.RemoteIssue in1, System.As... BegincreateIssueWithParent Method System.IAsyncResult BegincreateIssueWithParent(string in0, j.RemoteIssue in1,... BegincreateIssueWithParentWithSecurityLevel Method System.IAsyncResult BegincreateIssueWithParentWithSecurityLevel(string in0, j... BegincreateIssueWithSecurityLevel Method System.IAsyncResult BegincreateIssueWithSecurityLevel(string in0, j.RemoteIss... BegincreatePermissionScheme Method System.IAsyncResult BegincreatePermissionScheme(string in0, string in1, strin... BegincreateProject Method System.IAsyncResult BegincreateProject(string in0, string in1, string in2, st... BegincreateProjectFromObject Method System.IAsyncResult BegincreateProjectFromObject(string in0, j.RemoteProject ... BegincreateProjectRole Method System.IAsyncResult BegincreateProjectRole(string in0, j.RemoteProjectRole in... BegincreateUser Method System.IAsyncResult BegincreateUser(string in0, string in1, string in2, strin... BegindeleteGroup Method System.IAsyncResult BegindeleteGroup(string in0, string in1, string in2, Syst... BegindeleteIssue Method System.IAsyncResult BegindeleteIssue(string in0, string in1, System.AsyncCall... BegindeletePermissionFrom Method System.IAsyncResult BegindeletePermissionFrom(string in0, j.RemotePermissionS... BegindeletePermissionScheme Method System.IAsyncResult BegindeletePermissionScheme(string in0, string in1, Syste... BegindeleteProject Method System.IAsyncResult BegindeleteProject(string in0, string in1, System.AsyncCa... BegindeleteProjectAvatar Method System.IAsyncResult BegindeleteProjectAvatar(string in0, long in1, System.Asy... BegindeleteProjectRole Method System.IAsyncResult BegindeleteProjectRole(string in0, j.RemoteProjectRole in... BegindeleteUser Method System.IAsyncResult BegindeleteUser(string in0, string in1, System.AsyncCallb... BegindeleteWorklogAndAutoAdjustRemainingEstimate Method System.IAsyncResult BegindeleteWorklogAndAutoAdjustRemainingEstimate(string i... BegindeleteWorklogAndRetainRemainingEstimate Method System.IAsyncResult BegindeleteWorklogAndRetainRemainingEstimate(string in0, ... BegindeleteWorklogWithNewRemainingEstimate Method System.IAsyncResult BegindeleteWorklogWithNewRemainingEstimate(string in0, st... BegineditComment Method System.IAsyncResult BegineditComment(string in0, j.RemoteComment in1, System.... BegingetAllPermissions Method System.IAsyncResult BegingetAllPermissions(string in0, System.AsyncCallback c... BegingetAssociatedNotificationSchemes Method System.IAsyncResult BegingetAssociatedNotificationSchemes(string in0, j.Remot... BegingetAssociatedPermissionSchemes Method System.IAsyncResult BegingetAssociatedPermissionSchemes(string in0, j.RemoteP... BegingetAttachmentsFromIssue Method System.IAsyncResult BegingetAttachmentsFromIssue(string in0, string in1, Syst... BegingetAvailableActions Method System.IAsyncResult BegingetAvailableActions(string in0, string in1, System.A... BegingetComment Method System.IAsyncResult BegingetComment(string in0, long in1, System.AsyncCallbac... BegingetComments Method System.IAsyncResult BegingetComments(string in0, string in1, System.AsyncCall... BegingetComponents Method System.IAsyncResult BegingetComponents(string in0, string in1, System.AsyncCa... BegingetConfiguration Method System.IAsyncResult BegingetConfiguration(string in0, System.AsyncCallback ca... BegingetCustomFields Method System.IAsyncResult BegingetCustomFields(string in0, System.AsyncCallback cal... BegingetDefaultRoleActors Method System.IAsyncResult BegingetDefaultRoleActors(string in0, j.RemoteProjectRole... BegingetFavouriteFilters Method System.IAsyncResult BegingetFavouriteFilters(string in0, System.AsyncCallback... BegingetFieldsForAction Method System.IAsyncResult BegingetFieldsForAction(string in0, string in1, string in... BegingetFieldsForCreate Method System.IAsyncResult BegingetFieldsForCreate(string in0, string in1, long in2,... BegingetFieldsForEdit Method System.IAsyncResult BegingetFieldsForEdit(string in0, string in1, System.Asyn... BegingetGroup Method System.IAsyncResult BegingetGroup(string in0, string in1, System.AsyncCallbac... BegingetIssue Method System.IAsyncResult BegingetIssue(string in0, string in1, System.AsyncCallbac... BegingetIssueById Method System.IAsyncResult BegingetIssueById(string in0, string in1, System.AsyncCal... BegingetIssueCountForFilter Method System.IAsyncResult BegingetIssueCountForFilter(string in0, string in1, Syste... BegingetIssuesFromFilter Method System.IAsyncResult BegingetIssuesFromFilter(string in0, string in1, System.A... BegingetIssuesFromFilterWithLimit Method System.IAsyncResult BegingetIssuesFromFilterWithLimit(string in0, string in1,... BegingetIssuesFromJqlSearch Method System.IAsyncResult BegingetIssuesFromJqlSearch(string in0, string in1, int i... BegingetIssuesFromTextSearch Method System.IAsyncResult BegingetIssuesFromTextSearch(string in0, string in1, Syst... BegingetIssuesFromTextSearchWithLimit Method System.IAsyncResult BegingetIssuesFromTextSearchWithLimit(string in0, string ... BegingetIssuesFromTextSearchWithProject Method System.IAsyncResult BegingetIssuesFromTextSearchWithProject(string in0, strin... BegingetIssueTypes Method System.IAsyncResult BegingetIssueTypes(string in0, System.AsyncCallback callb... BegingetIssueTypesForProject Method System.IAsyncResult BegingetIssueTypesForProject(string in0, string in1, Syst... BegingetNotificationSchemes Method System.IAsyncResult BegingetNotificationSchemes(string in0, System.AsyncCallb... BegingetPermissionSchemes Method System.IAsyncResult BegingetPermissionSchemes(string in0, System.AsyncCallbac... BegingetPriorities Method System.IAsyncResult BegingetPriorities(string in0, System.AsyncCallback callb... BegingetProjectAvatar Method System.IAsyncResult BegingetProjectAvatar(string in0, string in1, System.Asyn... BegingetProjectAvatars Method System.IAsyncResult BegingetProjectAvatars(string in0, string in1, bool in2, ... BegingetProjectById Method System.IAsyncResult BegingetProjectById(string in0, long in1, System.AsyncCal... BegingetProjectByKey Method System.IAsyncResult BegingetProjectByKey(string in0, string in1, System.Async... BegingetProjectRole Method System.IAsyncResult BegingetProjectRole(string in0, long in1, System.AsyncCal... BegingetProjectRoleActors Method System.IAsyncResult BegingetProjectRoleActors(string in0, j.RemoteProjectRole... BegingetProjectRoles Method System.IAsyncResult BegingetProjectRoles(string in0, System.AsyncCallback cal... BegingetProjectsNoSchemes Method System.IAsyncResult BegingetProjectsNoSchemes(string in0, System.AsyncCallbac... BegingetProjectWithSchemesById Method System.IAsyncResult BegingetProjectWithSchemesById(string in0, long in1, Syst... BegingetResolutionDateById Method System.IAsyncResult BegingetResolutionDateById(string in0, long in1, System.A... BegingetResolutionDateByKey Method System.IAsyncResult BegingetResolutionDateByKey(string in0, string in1, Syste... BegingetResolutions Method System.IAsyncResult BegingetResolutions(string in0, System.AsyncCallback call... BegingetSavedFilters Method System.IAsyncResult BegingetSavedFilters(string in0, System.AsyncCallback cal... BegingetSecurityLevel Method System.IAsyncResult BegingetSecurityLevel(string in0, string in1, System.Asyn... BegingetSecurityLevels Method System.IAsyncResult BegingetSecurityLevels(string in0, string in1, System.Asy... BegingetSecuritySchemes Method System.IAsyncResult BegingetSecuritySchemes(string in0, System.AsyncCallback ... BegingetServerInfo Method System.IAsyncResult BegingetServerInfo(string in0, System.AsyncCallback callb... BegingetStatuses Method System.IAsyncResult BegingetStatuses(string in0, System.AsyncCallback callbac... BegingetSubTaskIssueTypes Method System.IAsyncResult BegingetSubTaskIssueTypes(string in0, System.AsyncCallbac... BegingetSubTaskIssueTypesForProject Method System.IAsyncResult BegingetSubTaskIssueTypesForProject(string in0, string in... BegingetUser Method System.IAsyncResult BegingetUser(string in0, string in1, System.AsyncCallback... BegingetVersions Method System.IAsyncResult BegingetVersions(string in0, string in1, System.AsyncCall... BegingetWorklogs Method System.IAsyncResult BegingetWorklogs(string in0, string in1, System.AsyncCall... BeginhasPermissionToCreateWorklog Method System.IAsyncResult BeginhasPermissionToCreateWorklog(string in0, string in1,... BeginhasPermissionToDeleteWorklog Method System.IAsyncResult BeginhasPermissionToDeleteWorklog(string in0, string in1,... BeginhasPermissionToEditComment Method System.IAsyncResult BeginhasPermissionToEditComment(string in0, j.RemoteComme... BeginhasPermissionToUpdateWorklog Method System.IAsyncResult BeginhasPermissionToUpdateWorklog(string in0, string in1,... BeginisProjectRoleNameUnique Method System.IAsyncResult BeginisProjectRoleNameUnique(string in0, string in1, Syst... Beginlogin Method System.IAsyncResult Beginlogin(string in0, string in1, System.AsyncCallback c... Beginlogout Method System.IAsyncResult Beginlogout(string in0, System.AsyncCallback callback, Sy... BeginprogressWorkflowAction Method System.IAsyncResult BeginprogressWorkflowAction(string in0, string in1, strin... BeginrefreshCustomFields Method System.IAsyncResult BeginrefreshCustomFields(string in0, System.AsyncCallback... BeginreleaseVersion Method System.IAsyncResult BeginreleaseVersion(string in0, string in1, j.RemoteVersi... BeginremoveActorsFromProjectRole Method System.IAsyncResult BeginremoveActorsFromProjectRole(string in0, string[] in1... BeginremoveAllRoleActorsByNameAndType Method System.IAsyncResult BeginremoveAllRoleActorsByNameAndType(string in0, string ... BeginremoveAllRoleActorsByProject Method System.IAsyncResult BeginremoveAllRoleActorsByProject(string in0, j.RemotePro... BeginremoveDefaultActorsFromProjectRole Method System.IAsyncResult BeginremoveDefaultActorsFromProjectRole(string in0, strin... BeginremoveUserFromGroup Method System.IAsyncResult BeginremoveUserFromGroup(string in0, j.RemoteGroup in1, j... BeginsetNewProjectAvatar Method System.IAsyncResult BeginsetNewProjectAvatar(string in0, string in1, string i... BeginsetProjectAvatar Method System.IAsyncResult BeginsetProjectAvatar(string in0, string in1, long in2, S... BeginsetUserPassword Method System.IAsyncResult BeginsetUserPassword(string in0, j.RemoteUser in1, string... BeginupdateGroup Method System.IAsyncResult BeginupdateGroup(string in0, j.RemoteGroup in1, System.As... BeginupdateIssue Method System.IAsyncResult BeginupdateIssue(string in0, string in1, j.RemoteFieldVal... BeginupdateProject Method System.IAsyncResult BeginupdateProject(string in0, j.RemoteProject in1, Syste... BeginupdateProjectRole Method System.IAsyncResult BeginupdateProjectRole(string in0, j.RemoteProjectRole in... BeginupdateUser Method System.IAsyncResult BeginupdateUser(string in0, j.RemoteUser in1, System.Asyn... BeginupdateWorklogAndAutoAdjustRemainingEstimate Method System.IAsyncResult BeginupdateWorklogAndAutoAdjustRemainingEstimate(string i... BeginupdateWorklogAndRetainRemainingEstimate Method System.IAsyncResult BeginupdateWorklogAndRetainRemainingEstimate(string in0, ... BeginupdateWorklogWithNewRemainingEstimate Method System.IAsyncResult BeginupdateWorklogWithNewRemainingEstimate(string in0, j.... CancelAsync Method void CancelAsync(System.Object userState) createGroup Method j.RemoteGroup createGroup(string in0, string in1, j.RemoteUser in2) createGroupAsync Method void createGroupAsync(string in0, string in1, j.RemoteUser in2), void createG... createIssue Method j.RemoteIssue createIssue(string in0, j.RemoteIssue in1) createIssueAsync Method void createIssueAsync(string in0, j.RemoteIssue in1), void createIssueAsync(s... createIssueWithParent Method j.RemoteIssue createIssueWithParent(string in0, j.RemoteIssue in1, string in2) createIssueWithParentAsync Method void createIssueWithParentAsync(string in0, j.RemoteIssue in1, string in2), v... createIssueWithParentWithSecurityLevel Method j.RemoteIssue createIssueWithParentWithSecurityLevel(string in0, j.RemoteIssu... createIssueWithParentWithSecurityLevelAsync Method void createIssueWithParentWithSecurityLevelAsync(string in0, j.RemoteIssue in... createIssueWithSecurityLevel Method j.RemoteIssue createIssueWithSecurityLevel(string in0, j.RemoteIssue in1, lon... createIssueWithSecurityLevelAsync Method void createIssueWithSecurityLevelAsync(string in0, j.RemoteIssue in1, long in... CreateObjRef Method System.Runtime.Remoting.ObjRef CreateObjRef(type requestedType) createPermissionScheme Method j.RemotePermissionScheme createPermissionScheme(string in0, string in1, strin... createPermissionSchemeAsync Method void createPermissionSchemeAsync(string in0, string in1, string in2), void cr... createProject Method j.RemoteProject createProject(string in0, string in1, string in2, string in3,... createProjectAsync Method void createProjectAsync(string in0, string in1, string in2, string in3, strin... createProjectFromObject Method j.RemoteProject createProjectFromObject(string in0, j.RemoteProject in1) createProjectFromObjectAsync Method void createProjectFromObjectAsync(string in0, j.RemoteProject in1), void crea... createProjectRole Method j.RemoteProjectRole createProjectRole(string in0, j.RemoteProjectRole in1) createProjectRoleAsync Method void createProjectRoleAsync(string in0, j.RemoteProjectRole in1), void create... createUser Method j.RemoteUser createUser(string in0, string in1, string in2, string in3, strin... createUserAsync Method void createUserAsync(string in0, string in1, string in2, string in3, string i... deleteGroup Method void deleteGroup(string in0, string in1, string in2) deleteGroupAsync Method void deleteGroupAsync(string in0, string in1, string in2), void deleteGroupAs... deleteIssue Method void deleteIssue(string in0, string in1) deleteIssueAsync Method void deleteIssueAsync(string in0, string in1), void deleteIssueAsync(string i... deletePermissionFrom Method j.RemotePermissionScheme deletePermissionFrom(string in0, j.RemotePermissionS... deletePermissionFromAsync Method void deletePermissionFromAsync(string in0, j.RemotePermissionScheme in1, j.Re... deletePermissionScheme Method void deletePermissionScheme(string in0, string in1) deletePermissionSchemeAsync Method void deletePermissionSchemeAsync(string in0, string in1), void deletePermissi... deleteProject Method void deleteProject(string in0, string in1) deleteProjectAsync Method void deleteProjectAsync(string in0, string in1), void deleteProjectAsync(stri... deleteProjectAvatar Method void deleteProjectAvatar(string in0, long in1) deleteProjectAvatarAsync Method void deleteProjectAvatarAsync(string in0, long in1), void deleteProjectAvatar... deleteProjectRole Method void deleteProjectRole(string in0, j.RemoteProjectRole in1, bool in2) deleteProjectRoleAsync Method void deleteProjectRoleAsync(string in0, j.RemoteProjectRole in1, bool in2), v... deleteUser Method void deleteUser(string in0, string in1) deleteUserAsync Method void deleteUserAsync(string in0, string in1), void deleteUserAsync(string in0... deleteWorklogAndAutoAdjustRemainingEstimate Method void deleteWorklogAndAutoAdjustRemainingEstimate(string in0, string in1) deleteWorklogAndAutoAdjustRemainingEstimateAsync Method void deleteWorklogAndAutoAdjustRemainingEstimateAsync(string in0, string in1)... deleteWorklogAndRetainRemainingEstimate Method void deleteWorklogAndRetainRemainingEstimate(string in0, string in1) deleteWorklogAndRetainRemainingEstimateAsync Method void deleteWorklogAndRetainRemainingEstimateAsync(string in0, string in1), vo... deleteWorklogWithNewRemainingEstimate Method void deleteWorklogWithNewRemainingEstimate(string in0, string in1, string in2) deleteWorklogWithNewRemainingEstimateAsync Method void deleteWorklogWithNewRemainingEstimateAsync(string in0, string in1, strin... Discover Method void Discover() Dispose Method void Dispose(), void IDisposable.Dispose() editComment Method j.RemoteComment editComment(string in0, j.RemoteComment in1) editCommentAsync Method void editCommentAsync(string in0, j.RemoteComment in1), void editCommentAsync... EndaddActorsToProjectRole Method void EndaddActorsToProjectRole(System.IAsyncResult asyncResult) EndaddAttachmentsToIssue Method bool EndaddAttachmentsToIssue(System.IAsyncResult asyncResult) EndaddBase64EncodedAttachmentsToIssue Method bool EndaddBase64EncodedAttachmentsToIssue(System.IAsyncResult asyncResult) EndaddComment Method void EndaddComment(System.IAsyncResult asyncResult) EndaddDefaultActorsToProjectRole Method void EndaddDefaultActorsToProjectRole(System.IAsyncResult asyncResult) EndaddPermissionTo Method j.RemotePermissionScheme EndaddPermissionTo(System.IAsyncResult asyncResult) EndaddUserToGroup Method void EndaddUserToGroup(System.IAsyncResult asyncResult) EndaddVersion Method j.RemoteVersion EndaddVersion(System.IAsyncResult asyncResult) EndaddWorklogAndAutoAdjustRemainingEstimate Method j.RemoteWorklog EndaddWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResu... EndaddWorklogAndRetainRemainingEstimate Method j.RemoteWorklog EndaddWorklogAndRetainRemainingEstimate(System.IAsyncResult a... EndaddWorklogWithNewRemainingEstimate Method j.RemoteWorklog EndaddWorklogWithNewRemainingEstimate(System.IAsyncResult asy... EndarchiveVersion Method void EndarchiveVersion(System.IAsyncResult asyncResult) EndcreateGroup Method j.RemoteGroup EndcreateGroup(System.IAsyncResult asyncResult) EndcreateIssue Method j.RemoteIssue EndcreateIssue(System.IAsyncResult asyncResult) EndcreateIssueWithParent Method j.RemoteIssue EndcreateIssueWithParent(System.IAsyncResult asyncResult) EndcreateIssueWithParentWithSecurityLevel Method j.RemoteIssue EndcreateIssueWithParentWithSecurityLevel(System.IAsyncResult a... EndcreateIssueWithSecurityLevel Method j.RemoteIssue EndcreateIssueWithSecurityLevel(System.IAsyncResult asyncResult) EndcreatePermissionScheme Method j.RemotePermissionScheme EndcreatePermissionScheme(System.IAsyncResult asyncR... EndcreateProject Method j.RemoteProject EndcreateProject(System.IAsyncResult asyncResult) EndcreateProjectFromObject Method j.RemoteProject EndcreateProjectFromObject(System.IAsyncResult asyncResult) EndcreateProjectRole Method j.RemoteProjectRole EndcreateProjectRole(System.IAsyncResult asyncResult) EndcreateUser Method j.RemoteUser EndcreateUser(System.IAsyncResult asyncResult) EnddeleteGroup Method void EnddeleteGroup(System.IAsyncResult asyncResult) EnddeleteIssue Method void EnddeleteIssue(System.IAsyncResult asyncResult) EnddeletePermissionFrom Method j.RemotePermissionScheme EnddeletePermissionFrom(System.IAsyncResult asyncRes... EnddeletePermissionScheme Method void EnddeletePermissionScheme(System.IAsyncResult asyncResult) EnddeleteProject Method void EnddeleteProject(System.IAsyncResult asyncResult) EnddeleteProjectAvatar Method void EnddeleteProjectAvatar(System.IAsyncResult asyncResult) EnddeleteProjectRole Method void EnddeleteProjectRole(System.IAsyncResult asyncResult) EnddeleteUser Method void EnddeleteUser(System.IAsyncResult asyncResult) EnddeleteWorklogAndAutoAdjustRemainingEstimate Method void EnddeleteWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResult async... EnddeleteWorklogAndRetainRemainingEstimate Method void EnddeleteWorklogAndRetainRemainingEstimate(System.IAsyncResult asyncResult) EnddeleteWorklogWithNewRemainingEstimate Method void EnddeleteWorklogWithNewRemainingEstimate(System.IAsyncResult asyncResult) EndeditComment Method j.RemoteComment EndeditComment(System.IAsyncResult asyncResult) EndgetAllPermissions Method j.RemotePermission[] EndgetAllPermissions(System.IAsyncResult asyncResult) EndgetAssociatedNotificationSchemes Method j.RemoteScheme[] EndgetAssociatedNotificationSchemes(System.IAsyncResult asyn... EndgetAssociatedPermissionSchemes Method j.RemoteScheme[] EndgetAssociatedPermissionSchemes(System.IAsyncResult asyncR... EndgetAttachmentsFromIssue Method j.RemoteAttachment[] EndgetAttachmentsFromIssue(System.IAsyncResult asyncResult) EndgetAvailableActions Method j.RemoteNamedObject[] EndgetAvailableActions(System.IAsyncResult asyncResult) EndgetComment Method j.RemoteComment EndgetComment(System.IAsyncResult asyncResult) EndgetComments Method j.RemoteComment[] EndgetComments(System.IAsyncResult asyncResult) EndgetComponents Method j.RemoteComponent[] EndgetComponents(System.IAsyncResult asyncResult) EndgetConfiguration Method j.RemoteConfiguration EndgetConfiguration(System.IAsyncResult asyncResult) EndgetCustomFields Method j.RemoteField[] EndgetCustomFields(System.IAsyncResult asyncResult) EndgetDefaultRoleActors Method j.RemoteRoleActors EndgetDefaultRoleActors(System.IAsyncResult asyncResult) EndgetFavouriteFilters Method j.RemoteFilter[] EndgetFavouriteFilters(System.IAsyncResult asyncResult) EndgetFieldsForAction Method j.RemoteField[] EndgetFieldsForAction(System.IAsyncResult asyncResult) EndgetFieldsForCreate Method j.RemoteField[] EndgetFieldsForCreate(System.IAsyncResult asyncResult) EndgetFieldsForEdit Method j.RemoteField[] EndgetFieldsForEdit(System.IAsyncResult asyncResult) EndgetGroup Method j.RemoteGroup EndgetGroup(System.IAsyncResult asyncResult) EndgetIssue Method j.RemoteIssue EndgetIssue(System.IAsyncResult asyncResult) EndgetIssueById Method j.RemoteIssue EndgetIssueById(System.IAsyncResult asyncResult) EndgetIssueCountForFilter Method long EndgetIssueCountForFilter(System.IAsyncResult asyncResult) EndgetIssuesFromFilter Method j.RemoteIssue[] EndgetIssuesFromFilter(System.IAsyncResult asyncResult) EndgetIssuesFromFilterWithLimit Method j.RemoteIssue[] EndgetIssuesFromFilterWithLimit(System.IAsyncResult asyncResult) EndgetIssuesFromJqlSearch Method j.RemoteIssue[] EndgetIssuesFromJqlSearch(System.IAsyncResult asyncResult) EndgetIssuesFromTextSearch Method j.RemoteIssue[] EndgetIssuesFromTextSearch(System.IAsyncResult asyncResult) EndgetIssuesFromTextSearchWithLimit Method j.RemoteIssue[] EndgetIssuesFromTextSearchWithLimit(System.IAsyncResult async... EndgetIssuesFromTextSearchWithProject Method j.RemoteIssue[] EndgetIssuesFromTextSearchWithProject(System.IAsyncResult asy... EndgetIssueTypes Method j.RemoteIssueType[] EndgetIssueTypes(System.IAsyncResult asyncResult) EndgetIssueTypesForProject Method j.RemoteIssueType[] EndgetIssueTypesForProject(System.IAsyncResult asyncResult) EndgetNotificationSchemes Method j.RemoteScheme[] EndgetNotificationSchemes(System.IAsyncResult asyncResult) EndgetPermissionSchemes Method j.RemotePermissionScheme[] EndgetPermissionSchemes(System.IAsyncResult asyncR... EndgetPriorities Method j.RemotePriority[] EndgetPriorities(System.IAsyncResult asyncResult) EndgetProjectAvatar Method j.RemoteAvatar EndgetProjectAvatar(System.IAsyncResult asyncResult) EndgetProjectAvatars Method j.RemoteAvatar[] EndgetProjectAvatars(System.IAsyncResult asyncResult) EndgetProjectById Method j.RemoteProject EndgetProjectById(System.IAsyncResult asyncResult) EndgetProjectByKey Method j.RemoteProject EndgetProjectByKey(System.IAsyncResult asyncResult) EndgetProjectRole Method j.RemoteProjectRole EndgetProjectRole(System.IAsyncResult asyncResult) EndgetProjectRoleActors Method j.RemoteProjectRoleActors EndgetProjectRoleActors(System.IAsyncResult asyncRe... EndgetProjectRoles Method j.RemoteProjectRole[] EndgetProjectRoles(System.IAsyncResult asyncResult) EndgetProjectsNoSchemes Method j.RemoteProject[] EndgetProjectsNoSchemes(System.IAsyncResult asyncResult) EndgetProjectWithSchemesById Method j.RemoteProject EndgetProjectWithSchemesById(System.IAsyncResult asyncResult) EndgetResolutionDateById Method datetime EndgetResolutionDateById(System.IAsyncResult asyncResult) EndgetResolutionDateByKey Method datetime EndgetResolutionDateByKey(System.IAsyncResult asyncResult) EndgetResolutions Method j.RemoteResolution[] EndgetResolutions(System.IAsyncResult asyncResult) EndgetSavedFilters Method j.RemoteFilter[] EndgetSavedFilters(System.IAsyncResult asyncResult) EndgetSecurityLevel Method j.RemoteSecurityLevel EndgetSecurityLevel(System.IAsyncResult asyncResult) EndgetSecurityLevels Method j.RemoteSecurityLevel[] EndgetSecurityLevels(System.IAsyncResult asyncResult) EndgetSecuritySchemes Method j.RemoteScheme[] EndgetSecuritySchemes(System.IAsyncResult asyncResult) EndgetServerInfo Method j.RemoteServerInfo EndgetServerInfo(System.IAsyncResult asyncResult) EndgetStatuses Method j.RemoteStatus[] EndgetStatuses(System.IAsyncResult asyncResult) EndgetSubTaskIssueTypes Method j.RemoteIssueType[] EndgetSubTaskIssueTypes(System.IAsyncResult asyncResult) EndgetSubTaskIssueTypesForProject Method j.RemoteIssueType[] EndgetSubTaskIssueTypesForProject(System.IAsyncResult asy... EndgetUser Method j.RemoteUser EndgetUser(System.IAsyncResult asyncResult) EndgetVersions Method j.RemoteVersion[] EndgetVersions(System.IAsyncResult asyncResult) EndgetWorklogs Method j.RemoteWorklog[] EndgetWorklogs(System.IAsyncResult asyncResult) EndhasPermissionToCreateWorklog Method bool EndhasPermissionToCreateWorklog(System.IAsyncResult asyncResult) EndhasPermissionToDeleteWorklog Method bool EndhasPermissionToDeleteWorklog(System.IAsyncResult asyncResult) EndhasPermissionToEditComment Method bool EndhasPermissionToEditComment(System.IAsyncResult asyncResult) EndhasPermissionToUpdateWorklog Method bool EndhasPermissionToUpdateWorklog(System.IAsyncResult asyncResult) EndisProjectRoleNameUnique Method bool EndisProjectRoleNameUnique(System.IAsyncResult asyncResult) Endlogin Method string Endlogin(System.IAsyncResult asyncResult) Endlogout Method bool Endlogout(System.IAsyncResult asyncResult) EndprogressWorkflowAction Method j.RemoteIssue EndprogressWorkflowAction(System.IAsyncResult asyncResult) EndrefreshCustomFields Method void EndrefreshCustomFields(System.IAsyncResult asyncResult) EndreleaseVersion Method void EndreleaseVersion(System.IAsyncResult asyncResult) EndremoveActorsFromProjectRole Method void EndremoveActorsFromProjectRole(System.IAsyncResult asyncResult) EndremoveAllRoleActorsByNameAndType Method void EndremoveAllRoleActorsByNameAndType(System.IAsyncResult asyncResult) EndremoveAllRoleActorsByProject Method void EndremoveAllRoleActorsByProject(System.IAsyncResult asyncResult) EndremoveDefaultActorsFromProjectRole Method void EndremoveDefaultActorsFromProjectRole(System.IAsyncResult asyncResult) EndremoveUserFromGroup Method void EndremoveUserFromGroup(System.IAsyncResult asyncResult) EndsetNewProjectAvatar Method void EndsetNewProjectAvatar(System.IAsyncResult asyncResult) EndsetProjectAvatar Method void EndsetProjectAvatar(System.IAsyncResult asyncResult) EndsetUserPassword Method void EndsetUserPassword(System.IAsyncResult asyncResult) EndupdateGroup Method j.RemoteGroup EndupdateGroup(System.IAsyncResult asyncResult) EndupdateIssue Method j.RemoteIssue EndupdateIssue(System.IAsyncResult asyncResult) EndupdateProject Method j.RemoteProject EndupdateProject(System.IAsyncResult asyncResult) EndupdateProjectRole Method void EndupdateProjectRole(System.IAsyncResult asyncResult) EndupdateUser Method j.RemoteUser EndupdateUser(System.IAsyncResult asyncResult) EndupdateWorklogAndAutoAdjustRemainingEstimate Method void EndupdateWorklogAndAutoAdjustRemainingEstimate(System.IAsyncResult async... EndupdateWorklogAndRetainRemainingEstimate Method void EndupdateWorklogAndRetainRemainingEstimate(System.IAsyncResult asyncResult) EndupdateWorklogWithNewRemainingEstimate Method void EndupdateWorklogWithNewRemainingEstimate(System.IAsyncResult asyncResult) Equals Method bool Equals(System.Object obj) getAllPermissions Method j.RemotePermission[] getAllPermissions(string in0) getAllPermissionsAsync Method void getAllPermissionsAsync(string in0), void getAllPermissionsAsync(string i... getAssociatedNotificationSchemes Method j.RemoteScheme[] getAssociatedNotificationSchemes(string in0, j.RemoteProject... getAssociatedNotificationSchemesAsync Method void getAssociatedNotificationSchemesAsync(string in0, j.RemoteProjectRole in... getAssociatedPermissionSchemes Method j.RemoteScheme[] getAssociatedPermissionSchemes(string in0, j.RemoteProjectRo... getAssociatedPermissionSchemesAsync Method void getAssociatedPermissionSchemesAsync(string in0, j.RemoteProjectRole in1)... getAttachmentsFromIssue Method j.RemoteAttachment[] getAttachmentsFromIssue(string in0, string in1) getAttachmentsFromIssueAsync Method void getAttachmentsFromIssueAsync(string in0, string in1), void getAttachment... getAvailableActions Method j.RemoteNamedObject[] getAvailableActions(string in0, string in1) getAvailableActionsAsync Method void getAvailableActionsAsync(string in0, string in1), void getAvailableActio... getComment Method j.RemoteComment getComment(string in0, long in1) getCommentAsync Method void getCommentAsync(string in0, long in1), void getCommentAsync(string in0, ... getComments Method j.RemoteComment[] getComments(string in0, string in1) getCommentsAsync Method void getCommentsAsync(string in0, string in1), void getCommentsAsync(string i... getComponents Method j.RemoteComponent[] getComponents(string in0, string in1) getComponentsAsync Method void getComponentsAsync(string in0, string in1), void getComponentsAsync(stri... getConfiguration Method j.RemoteConfiguration getConfiguration(string in0) getConfigurationAsync Method void getConfigurationAsync(string in0), void getConfigurationAsync(string in0... getCustomFields Method j.RemoteField[] getCustomFields(string in0) getCustomFieldsAsync Method void getCustomFieldsAsync(string in0), void getCustomFieldsAsync(string in0, ... getDefaultRoleActors Method j.RemoteRoleActors getDefaultRoleActors(string in0, j.RemoteProjectRole in1) getDefaultRoleActorsAsync Method void getDefaultRoleActorsAsync(string in0, j.RemoteProjectRole in1), void get... getFavouriteFilters Method j.RemoteFilter[] getFavouriteFilters(string in0) getFavouriteFiltersAsync Method void getFavouriteFiltersAsync(string in0), void getFavouriteFiltersAsync(stri... getFieldsForAction Method j.RemoteField[] getFieldsForAction(string in0, string in1, string in2) getFieldsForActionAsync Method void getFieldsForActionAsync(string in0, string in1, string in2), void getFie... getFieldsForCreate Method j.RemoteField[] getFieldsForCreate(string in0, string in1, long in2) getFieldsForCreateAsync Method void getFieldsForCreateAsync(string in0, string in1, long in2), void getField... getFieldsForEdit Method j.RemoteField[] getFieldsForEdit(string in0, string in1) getFieldsForEditAsync Method void getFieldsForEditAsync(string in0, string in1), void getFieldsForEditAsyn... getGroup Method j.RemoteGroup getGroup(string in0, string in1) getGroupAsync Method void getGroupAsync(string in0, string in1), void getGroupAsync(string in0, st... GetHashCode Method int GetHashCode() getIssue Method j.RemoteIssue getIssue(string in0, string in1) getIssueAsync Method void getIssueAsync(string in0, string in1), void getIssueAsync(string in0, st... getIssueById Method j.RemoteIssue getIssueById(string in0, string in1) getIssueByIdAsync Method void getIssueByIdAsync(string in0, string in1), void getIssueByIdAsync(string... getIssueCountForFilter Method long getIssueCountForFilter(string in0, string in1) getIssueCountForFilterAsync Method void getIssueCountForFilterAsync(string in0, string in1), void getIssueCountF... getIssuesFromFilter Method j.RemoteIssue[] getIssuesFromFilter(string in0, string in1) getIssuesFromFilterAsync Method void getIssuesFromFilterAsync(string in0, string in1), void getIssuesFromFilt... getIssuesFromFilterWithLimit Method j.RemoteIssue[] getIssuesFromFilterWithLimit(string in0, string in1, int in2,... getIssuesFromFilterWithLimitAsync Method void getIssuesFromFilterWithLimitAsync(string in0, string in1, int in2, int i... getIssuesFromJqlSearch Method j.RemoteIssue[] getIssuesFromJqlSearch(string in0, string in1, int in2) getIssuesFromJqlSearchAsync Method void getIssuesFromJqlSearchAsync(string in0, string in1, int in2), void getIs... getIssuesFromTextSearch Method j.RemoteIssue[] getIssuesFromTextSearch(string in0, string in1) getIssuesFromTextSearchAsync Method void getIssuesFromTextSearchAsync(string in0, string in1), void getIssuesFrom... getIssuesFromTextSearchWithLimit Method j.RemoteIssue[] getIssuesFromTextSearchWithLimit(string in0, string in1, int ... getIssuesFromTextSearchWithLimitAsync Method void getIssuesFromTextSearchWithLimitAsync(string in0, string in1, int in2, i... getIssuesFromTextSearchWithProject Method j.RemoteIssue[] getIssuesFromTextSearchWithProject(string in0, string[] in1, ... getIssuesFromTextSearchWithProjectAsync Method void getIssuesFromTextSearchWithProjectAsync(string in0, string[] in1, string... getIssueTypes Method j.RemoteIssueType[] getIssueTypes(string in0) getIssueTypesAsync Method void getIssueTypesAsync(string in0), void getIssueTypesAsync(string in0, Syst... getIssueTypesForProject Method j.RemoteIssueType[] getIssueTypesForProject(string in0, string in1) getIssueTypesForProjectAsync Method void getIssueTypesForProjectAsync(string in0, string in1), void getIssueTypes... GetLifetimeService Method System.Object GetLifetimeService() getNotificationSchemes Method j.RemoteScheme[] getNotificationSchemes(string in0) getNotificationSchemesAsync Method void getNotificationSchemesAsync(string in0), void getNotificationSchemesAsyn... getPermissionSchemes Method j.RemotePermissionScheme[] getPermissionSchemes(string in0) getPermissionSchemesAsync Method void getPermissionSchemesAsync(string in0), void getPermissionSchemesAsync(st... getPriorities Method j.RemotePriority[] getPriorities(string in0) getPrioritiesAsync Method void getPrioritiesAsync(string in0), void getPrioritiesAsync(string in0, Syst... getProjectAvatar Method j.RemoteAvatar getProjectAvatar(string in0, string in1) getProjectAvatarAsync Method void getProjectAvatarAsync(string in0, string in1), void getProjectAvatarAsyn... getProjectAvatars Method j.RemoteAvatar[] getProjectAvatars(string in0, string in1, bool in2) getProjectAvatarsAsync Method void getProjectAvatarsAsync(string in0, string in1, bool in2), void getProjec... getProjectById Method j.RemoteProject getProjectById(string in0, long in1) getProjectByIdAsync Method void getProjectByIdAsync(string in0, long in1), void getProjectByIdAsync(stri... getProjectByKey Method j.RemoteProject getProjectByKey(string in0, string in1) getProjectByKeyAsync Method void getProjectByKeyAsync(string in0, string in1), void getProjectByKeyAsync(... getProjectRole Method j.RemoteProjectRole getProjectRole(string in0, long in1) getProjectRoleActors Method j.RemoteProjectRoleActors getProjectRoleActors(string in0, j.RemoteProjectRol... getProjectRoleActorsAsync Method void getProjectRoleActorsAsync(string in0, j.RemoteProjectRole in1, j.RemoteP... getProjectRoleAsync Method void getProjectRoleAsync(string in0, long in1), void getProjectRoleAsync(stri... getProjectRoles Method j.RemoteProjectRole[] getProjectRoles(string in0) getProjectRolesAsync Method void getProjectRolesAsync(string in0), void getProjectRolesAsync(string in0, ... getProjectsNoSchemes Method j.RemoteProject[] getProjectsNoSchemes(string in0) getProjectsNoSchemesAsync Method void getProjectsNoSchemesAsync(string in0), void getProjectsNoSchemesAsync(st... getProjectWithSchemesById Method j.RemoteProject getProjectWithSchemesById(string in0, long in1) getProjectWithSchemesByIdAsync Method void getProjectWithSchemesByIdAsync(string in0, long in1), void getProjectWit... getResolutionDateById Method datetime getResolutionDateById(string in0, long in1) getResolutionDateByIdAsync Method void getResolutionDateByIdAsync(string in0, long in1), void getResolutionDate... getResolutionDateByKey Method datetime getResolutionDateByKey(string in0, string in1) getResolutionDateByKeyAsync Method void getResolutionDateByKeyAsync(string in0, string in1), void getResolutionD... getResolutions Method j.RemoteResolution[] getResolutions(string in0) getResolutionsAsync Method void getResolutionsAsync(string in0), void getResolutionsAsync(string in0, Sy... getSavedFilters Method j.RemoteFilter[] getSavedFilters(string in0) getSavedFiltersAsync Method void getSavedFiltersAsync(string in0), void getSavedFiltersAsync(string in0, ... getSecurityLevel Method j.RemoteSecurityLevel getSecurityLevel(string in0, string in1) getSecurityLevelAsync Method void getSecurityLevelAsync(string in0, string in1), void getSecurityLevelAsyn... getSecurityLevels Method j.RemoteSecurityLevel[] getSecurityLevels(string in0, string in1) getSecurityLevelsAsync Method void getSecurityLevelsAsync(string in0, string in1), void getSecurityLevelsAs... getSecuritySchemes Method j.RemoteScheme[] getSecuritySchemes(string in0) getSecuritySchemesAsync Method void getSecuritySchemesAsync(string in0), void getSecuritySchemesAsync(string... getServerInfo Method j.RemoteServerInfo getServerInfo(string in0) getServerInfoAsync Method void getServerInfoAsync(string in0), void getServerInfoAsync(string in0, Syst... getStatuses Method j.RemoteStatus[] getStatuses(string in0) getStatusesAsync Method void getStatusesAsync(string in0), void getStatusesAsync(string in0, System.O... getSubTaskIssueTypes Method j.RemoteIssueType[] getSubTaskIssueTypes(string in0) getSubTaskIssueTypesAsync Method void getSubTaskIssueTypesAsync(string in0), void getSubTaskIssueTypesAsync(st... getSubTaskIssueTypesForProject Method j.RemoteIssueType[] getSubTaskIssueTypesForProject(string in0, string in1) getSubTaskIssueTypesForProjectAsync Method void getSubTaskIssueTypesForProjectAsync(string in0, string in1), void getSub... GetType Method type GetType() getUser Method j.RemoteUser getUser(string in0, string in1) getUserAsync Method void getUserAsync(string in0, string in1), void getUserAsync(string in0, stri... getVersions Method j.RemoteVersion[] getVersions(string in0, string in1) getVersionsAsync Method void getVersionsAsync(string in0, string in1), void getVersionsAsync(string i... getWorklogs Method j.RemoteWorklog[] getWorklogs(string in0, string in1) getWorklogsAsync Method void getWorklogsAsync(string in0, string in1), void getWorklogsAsync(string i... hasPermissionToCreateWorklog Method bool hasPermissionToCreateWorklog(string in0, string in1) hasPermissionToCreateWorklogAsync Method void hasPermissionToCreateWorklogAsync(string in0, string in1), void hasPermi... hasPermissionToDeleteWorklog Method bool hasPermissionToDeleteWorklog(string in0, string in1) hasPermissionToDeleteWorklogAsync Method void hasPermissionToDeleteWorklogAsync(string in0, string in1), void hasPermi... hasPermissionToEditComment Method bool hasPermissionToEditComment(string in0, j.RemoteComment in1) hasPermissionToEditCommentAsync Method void hasPermissionToEditCommentAsync(string in0, j.RemoteComment in1), void h... hasPermissionToUpdateWorklog Method bool hasPermissionToUpdateWorklog(string in0, string in1) hasPermissionToUpdateWorklogAsync Method void hasPermissionToUpdateWorklogAsync(string in0, string in1), void hasPermi... InitializeLifetimeService Method System.Object InitializeLifetimeService() isProjectRoleNameUnique Method bool isProjectRoleNameUnique(string in0, string in1) isProjectRoleNameUniqueAsync Method void isProjectRoleNameUniqueAsync(string in0, string in1), void isProjectRole... login Method string login(string in0, string in1) loginAsync Method void loginAsync(string in0, string in1), void loginAsync(string in0, string i... logout Method bool logout(string in0) logoutAsync Method void logoutAsync(string in0), void logoutAsync(string in0, System.Object user... progressWorkflowAction Method j.RemoteIssue progressWorkflowAction(string in0, string in1, string in2, j.Re... progressWorkflowActionAsync Method void progressWorkflowActionAsync(string in0, string in1, string in2, j.Remote... refreshCustomFields Method void refreshCustomFields(string in0) refreshCustomFieldsAsync Method void refreshCustomFieldsAsync(string in0), void refreshCustomFieldsAsync(stri... releaseVersion Method void releaseVersion(string in0, string in1, j.RemoteVersion in2) releaseVersionAsync Method void releaseVersionAsync(string in0, string in1, j.RemoteVersion in2), void r... removeActorsFromProjectRole Method void removeActorsFromProjectRole(string in0, string[] in1, j.RemoteProjectRol... removeActorsFromProjectRoleAsync Method void removeActorsFromProjectRoleAsync(string in0, string[] in1, j.RemoteProje... removeAllRoleActorsByNameAndType Method void removeAllRoleActorsByNameAndType(string in0, string in1, string in2) removeAllRoleActorsByNameAndTypeAsync Method void removeAllRoleActorsByNameAndTypeAsync(string in0, string in1, string in2... removeAllRoleActorsByProject Method void removeAllRoleActorsByProject(string in0, j.RemoteProject in1) removeAllRoleActorsByProjectAsync Method void removeAllRoleActorsByProjectAsync(string in0, j.RemoteProject in1), void... removeDefaultActorsFromProjectRole Method void removeDefaultActorsFromProjectRole(string in0, string[] in1, j.RemotePro... removeDefaultActorsFromProjectRoleAsync Method void removeDefaultActorsFromProjectRoleAsync(string in0, string[] in1, j.Remo... removeUserFromGroup Method void removeUserFromGroup(string in0, j.RemoteGroup in1, j.RemoteUser in2) removeUserFromGroupAsync Method void removeUserFromGroupAsync(string in0, j.RemoteGroup in1, j.RemoteUser in2... setNewProjectAvatar Method void setNewProjectAvatar(string in0, string in1, string in2, string in3) setNewProjectAvatarAsync Method void setNewProjectAvatarAsync(string in0, string in1, string in2, string in3)... setProjectAvatar Method void setProjectAvatar(string in0, string in1, long in2) setProjectAvatarAsync Method void setProjectAvatarAsync(string in0, string in1, long in2), void setProject... setUserPassword Method void setUserPassword(string in0, j.RemoteUser in1, string in2) setUserPasswordAsync Method void setUserPasswordAsync(string in0, j.RemoteUser in1, string in2), void set... ToString Method string ToString() updateGroup Method j.RemoteGroup updateGroup(string in0, j.RemoteGroup in1) updateGroupAsync Method void updateGroupAsync(string in0, j.RemoteGroup in1), void updateGroupAsync(s... updateIssue Method j.RemoteIssue updateIssue(string in0, string in1, j.RemoteFieldValue[] in2) updateIssueAsync Method void updateIssueAsync(string in0, string in1, j.RemoteFieldValue[] in2), void... updateProject Method j.RemoteProject updateProject(string in0, j.RemoteProject in1) updateProjectAsync Method void updateProjectAsync(string in0, j.RemoteProject in1), void updateProjectA... updateProjectRole Method void updateProjectRole(string in0, j.RemoteProjectRole in1) updateProjectRoleAsync Method void updateProjectRoleAsync(string in0, j.RemoteProjectRole in1), void update... updateUser Method j.RemoteUser updateUser(string in0, j.RemoteUser in1) updateUserAsync Method void updateUserAsync(string in0, j.RemoteUser in1), void updateUserAsync(stri... updateWorklogAndAutoAdjustRemainingEstimate Method void updateWorklogAndAutoAdjustRemainingEstimate(string in0, j.RemoteWorklog ... updateWorklogAndAutoAdjustRemainingEstimateAsync Method void updateWorklogAndAutoAdjustRemainingEstimateAsync(string in0, j.RemoteWor... updateWorklogAndRetainRemainingEstimate Method void updateWorklogAndRetainRemainingEstimate(string in0, j.RemoteWorklog in1) updateWorklogAndRetainRemainingEstimateAsync Method void updateWorklogAndRetainRemainingEstimateAsync(string in0, j.RemoteWorklog... updateWorklogWithNewRemainingEstimate Method void updateWorklogWithNewRemainingEstimate(string in0, j.RemoteWorklog in1, s... updateWorklogWithNewRemainingEstimateAsync Method void updateWorklogWithNewRemainingEstimateAsync(string in0, j.RemoteWorklog i... AllowAutoRedirect Property bool AllowAutoRedirect {get;set;} ClientCertificates Property System.Security.Cryptography.X509Certificates.X509CertificateCollection Clien... ConnectionGroupName Property string ConnectionGroupName {get;set;} Container Property System.ComponentModel.IContainer Container {get;} CookieContainer Property System.Net.CookieContainer CookieContainer {get;set;} Credentials Property System.Net.ICredentials Credentials {get;set;} EnableDecompression Property bool EnableDecompression {get;set;} PreAuthenticate Property bool PreAuthenticate {get;set;} Proxy Property System.Net.IWebProxy Proxy {get;set;} RequestEncoding Property System.Text.Encoding RequestEncoding {get;set;} Site Property System.ComponentModel.ISite Site {get;set;} SoapVersion Property System.Web.Services.Protocols.SoapProtocolVersion SoapVersion {get;set;} Timeout Property int Timeout {get;set;} UnsafeAuthenticatedConnectionSharing Property bool UnsafeAuthenticatedConnectionSharing {get;set;} Url Property string Url {get;set;} UseDefaultCredentials Property bool UseDefaultCredentials {get;set;} UserAgent Property string UserAgent {get;set;}
And then you can do the usual stuff as getting projects via its key ‘ABCD’ or issues via status or search for specific keywords. Here are some examples of what you can do:
# retrieving a project PS > $prj = $jwsp.getProjectByKey($l, 'ABCD'); PS > $prj; description : issueSecurityScheme : key : ABCD lead : JiraUserName notificationScheme : permissionScheme : projectUrl : url : https://www.example.com/browse/ABCD name : Project ABCD id : 99999 # search for issues via text search (with a maximum of 10 results) PS > $r = $jwsp.getIssuesFromTextSearchWithProject($l, @(ABCD), 'text to search for, 10); PS > $r.Count 2 PS > $r.key ABCD-77 ABCD-23
And as you might know JIRA relies on Lucene for its search syntax, so you might be better off to use JQL right away where you can do much more powerful searches with grouping and Boolean operatiors:
PS > $r = $jwsp.getIssuesFromJqlSearch($l, '(project = ABCD) AND (reporter = UberAdmin)', 10); PS > $r |% { '{0} - {1}' -f $_.key, $_.assignee} ABCD-51 - edgar.schnittenfittich ABCD-50 - UberAdmin ABCD-49 - peter.lustig ABCD-46 - edgar.schnittenfittich ABCD-45 - edgar.schnittenfittich ABCD-44 - peter.lustig ABCD-43 - UberAdmin ABCD-42 - edgar.schnittenfittich ABCD-41 - edgar.schnittenfittich ABCD-40 - UberAdmin
Of course you can also work with attachments, making my life easier when having to upload a few things:
PARAM ( [Parameter(Mandatory = $true, Position = 0)] [alias("l")] [string] $LoginToken , [Parameter(Mandatory = $true, Position = 1)] [alias("i")] [string] $IssueKey , [Parameter(Mandatory = $true, Position = 2)] [alias("Files")] [string[]] $FullPathAndFileToAttachments ) foreach($File in $FullPathAndFileToAttachments) { if(!(Test-Path $File)) { Write-Warning ("File '{0}' does not exist. Skipping ..." -f $File); continue; } $f = Get-Item $File; $b64 = [convert]::ToBase64String( (Get-Content $f -Encoding Byte) ); $sReturn = $jwsp.addBase64EncodedAttachmentsToIssue($LoginToken, $IssueKey, $f.Name, $b64); Write-Host ("Uploading file '{0}' returned '{1}'." -f $f.FullName, $sReturn); }
In case you are interesting here are a few Fiddler traces from the above SOAP calls:
$Uri = 'https://{0}/rpc/soap/jirasoapservice-v2?wsdl' -f $UriBase; $cred = Get-Credential -UserName JiraUserName; $jwsp = New-WebServiceProxy -Uri -Namespace j -Class j -Credential $cred; $l = $jwsp.login($cred.UserName, $cred.GetNetworkCredential().Password); return $l; === login === POST https://jira.example.com/rpc/soap/jirasoapservice-v2 HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.18444) Content-Type: text/xml; charset=utf-8 SOAPAction: "" Host: jira.example.com Content-Length: 670 Expect: 100-continue Connection: Keep-Alive <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://jira.example.com/rpc/soap/jirasoapservice-v2" xmlns:types="https://jira.example.com/rpc/soap/jirasoapservice-v2/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <q1:login xmlns:q1="http://soap.rpc.jira.atlassian.com"> <in0 xsi:type="xsd:string">JiraUserName</in0> <in1 xsi:type="xsd:string">P@ssw0rd</in1> </q1:login> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Server: nginx Date: Sat, 02 Aug 2014 07:12:02 GMT Content-Type: text/xml;charset=utf-8 Content-Length: 502 Connection: close Vary: Accept-Encoding X-AREQUESTID: 552x1961x1 X-ASEN: SEN-3144840 Set-Cookie: atlassian.xsrf.token=BGR7-I32I-RANB-AGL6|00112233445566778899aabbccddeeff01234567|lout; Path=/; Secure X-AUSERNAME: anonymous X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=315360000;includeSubdomains <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:loginResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://soap.rpc.jira.atlassian.com"> <loginReturn xsi:type="xsd:string">0123456789abcedf0123456789abcedf01234567</loginReturn> </ns1:loginResponse> </soapenv:Body> </soapenv:Envelope> PS > $prj = $jwsp.getProjectByKey($l, 'ABCD'); PS > $prj; description : issueSecurityScheme : key : ABCD lead : JiraUserName notificationScheme : permissionScheme : projectUrl : url : https://www.example.com/browse/ABCD name : Project ABCD id : 99999 POST https://www.example.com/rpc/soap/jirasoapservice-v2 HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.18444) Content-Type: text/xml; charset=utf-8 SOAPAction: "" Host: www.example.com Content-Length: 717 Expect: 100-continue <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="https://www.example.com/rpc/soap/jirasoapservice-v2" xmlns:types="https://www.example.com/rpc/soap/jirasoapservice-v2/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <q1:getProjectByKey xmlns:q1="http://soap.rpc.jira.atlassian.com"> <in0 xsi:type="xsd:string">0123456789abcedf0123456789abcedf01234567</in0> <in1 xsi:type="xsd:string">ABCD</in1> </q1:getProjectByKey> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Server: nginx Date: Sat, 02 Aug 2014 07:18:41 GMT Content-Type: text/xml;charset=utf-8 Content-Length: 1247 Connection: close Vary: Accept-Encoding X-AREQUESTID: 558x1966x1 X-ASEN: SEN-3144840 Set-Cookie: atlassian.xsrf.token=BGR7-I32I-RANB-AGL6|00112233445566778899aabbccddeeff01234567|lout; Path=/; Secure X-AUSERNAME: anonymous X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=315360000;includeSubdomains <?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getProjectByKeyResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://soap.rpc.jira.atlassian.com"> <getProjectByKeyReturn href="#id0"/> </ns1:getProjectByKeyResponse> <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:RemoteProject" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://beans.soap.rpc.jira.atlassian.com"> <description xsi:type="xsd:string"></description> <id xsi:type="xsd:string">99999</id> <issueSecurityScheme xsi:type="ns2:RemoteScheme" xsi:nil="true"/> <key xsi:type="xsd:string">ABCD</key> <lead xsi:type="xsd:string">JiraUserName</lead> <name xsi:type="xsd:string">Project ABCD</name> <notificationScheme xsi:type="ns2:RemoteScheme" xsi:nil="true"/> <permissionScheme xsi:type="ns2:RemotePermissionScheme" xsi:nil="true"/> <projectUrl xsi:type="xsd:string"></projectUrl> <url xsi:type="xsd:string">https://www.example.com/browse/ABCD</url> </multiRef> </soapenv:Body> </soapenv:Envelope>
Of course the current way is to use REST, but still SOAP has some kind of good advantages as that you can automatically create object models from a service (something that e.g. jaydata is able to do it with ODATA services) eliminating the need to fiddle around with URLs and the like. So hopefully we soon have a standard way to do this with REST as well.