Service Description: KanbanCardService
Service EPR: https://login.swift-ease.com/axis2/services/KanbanCardService
Service
Status :
Active
Available Operations:
- addCard
- getCard
- getCardsByFilter
- moveCardOnBoard
- blockCard
- unblockCard
- moveCardtoReady
- moveCardToBacklog
- getCardDetails
- getCardsModifiedSincedate
- archiveCard
- updateCard
- getSmartLaneDetails
- addMultipleCard
- updateMultipleCard
- archiveMultipleCard
- moveMultipleCardToReady
- moveMultipleCardOnBoard
- moveMultipleCardToBacklog
- deleteCard
- deleteMultipleCard
- convertCard
- transferCard
- getBoardCards
- discardAbortCard
- discardAbortMultipleCard
Note: Any mention of Iteration or Project in any Web Service operations are equivalent to Sprint or Board in the SwiftEASe User Interface (UI).
addCard
Input Elements
Description | Creates a new card |
projectId | Id of the project that you get from getProject of ProjectService
Example: 8 |
cardType | Card type of the card obtained from getCardListForProject output
Example: UserStory |
userLoginId | Email address of user to log on to SwiftEASe
Example:[email protected] |
mode | Not used as of now |
fields | List of fields with name and value for each field. Field name will be available from the getCardMetadata method. The type of value to be passed information will be available in the same method. If the field is of the list of value(LOV) type pass any relevantLOVitem value.
Example: name=cardSize and its value = M |
Output | If successful, the response returns details of new card added. |
Input response Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:kan="http://kanbancard.webservices.kanban.app.digite.com/"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-31571602"> <wsse:Username>rtiwari#digite.com</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome123</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <kan:addCardDetails> <kan:projectId>40186</kan:projectId> <kan:cardType>KanbanDefect</kan:cardType> <kan:userLoginId>rtiwari#digite.com</kan:userLoginId> <kan:mode></kan:mode> <kan:fields> <!--Zero or more repetitions:--> <kan:field name="name">test defect</kan:field> <kan:field name="cardSize">M</kan:field> <kan:field name="classOfService">Expedite</kan:field> <kan:field name="Category">PM</kan:field> <kan:field name="currentOwner">rtiwari#digite.com</kan:field> </kan:fields> </kan:addCardDetails> </soapenv:Body> </soapenv:Envelope>
Output Response Example
<ns:getCardResponse xmlns:ns="http://kanbancard.webservices.kanban.app.digite.com/"> <ns:fields> <ns:field ns:name="id">606748</ns:field> <ns:field ns:name="name">test defect</ns:field> <ns:field ns:name="priority">0</ns:field> <ns:field ns:name="defectType">0</ns:field> <ns:field ns:name="severity">0</ns:field> <ns:field ns:name="rootCause">0</ns:field> <ns:field ns:name="currentState">Active</ns:field> <ns:field ns:name="release">0</ns:field> <ns:field ns:name="currentOwner_userId">rtiwari#digite.com</ns:field> <ns:field ns:name="currentOwner">Ravi Tiwari</ns:field> <ns:field ns:name="currentQueue">Backlog</ns:field> <ns:field ns:name="createdBy">rtiwari#digite.com</ns:field> <ns:field ns:name="createdDate">2015-08-31T09:19:52Z</ns:field> <ns:field ns:name="modifiedBy">rtiwari#digite.com</ns:field> <ns:field ns:name="modifiedDate">2015-08-31T09:19:52Z</ns:field> <ns:field ns:name="workspaceType">KanbanProject</ns:field> <ns:field ns:name="workspaceId">1540764</ns:field> <ns:field ns:name="cardSize">M</ns:field> <ns:field ns:name="classOfService">Expedite</ns:field> <ns:field ns:name="defectNumber">DEF31</ns:field> <ns:field ns:name="Category">PM</ns:field> <ns:field ns:name="workType">KanbanDefect</ns:field> <ns:field ns:name="Hot_Fix_Release">0</ns:field> <ns:field ns:name="HF_Merged">0</ns:field> <ns:field ns:name="summaryType">leaf</ns:field> <ns:field ns:name="dateIdentified">2015-08-31T09:19:52Z</ns:field> <ns:field ns:name="iteration">0</ns:field> <ns:field ns:name="ExternalCardId">DEF31</ns:field> <ns:field ns:name="currentSwimId">N/A</ns:field> <ns:field ns:name="currentSwimName">N/A</ns:field> <ns:field ns:name="currentQueueId">N/A</ns:field> </ns:fields> </ns:getCardResponse>
Note: currentSwimId, currentSwimName, and currentQueueId have values as N/A because the card is created in backlog.
Note2: From 4.12 release onwards, addCard method (SOAP) and post method of CardService (REST Url: /card-operations/boards/{boardId}/cards) of webservice will add cards based on the Board Policy of the default lane configuration. Like web application, If the default column for card addition in the Board policy is not set, then the card, added via the SOAP or REST webservice will be placed in the Backlog. If the policy is set to a specific column then the card will be added in that column only.
getCard
Input Elements
Description | Fetches card details |
projectId | Id of the project that you get from getProject of ProjectService Example: 8 |
cardType | Card type of the card obtained from getCardListForProject output Example: UserStory |
userLoginId | Email address of user to log on to SwiftEASe Example:[email protected] |
cardUniqueId | card unique id that you will get in add card response |
Output | If successful, the response returns details of a particular card. |
Input Request Example
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:kan="http://kanbancard.webservices.kanban.app.digite.com/"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="UsernameToken-31571602"> <wsse:Username>rtiwari#digite.com</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome123</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <kan:getCardRequest> <kan:projectId>40186</kan:projectId> <kan:cardUniqueId>606543</kan:cardUniqueId> <kan:cardType>KanbanDefect</kan:cardType> <kan:userLoginId>rtiwari#digite.com</kan:userLoginId> </kan:getCardRequest> </soapenv:Body> </soapenv:Envelope>
Output Request Example
<ns:getCardResponse xmlns:ns=”http://kanbancard.webservices.kanban.app.digite.com/”>
<ns:fields>
<ns:field ns:name=”id”>606543</ns:field>
<ns:field ns:name=”name”>defect1</ns:field>
<ns:field ns:name=”priority”>Low</ns:field>
<ns:field ns:name=”defectType”>0</ns:field>
<ns:field ns:name=”severity”>0</ns:field>
<ns:field ns:name=”rootCause”>0</ns:field>
<ns:field ns:name=”currentState”>Active</ns:field>
<ns:field ns:name=”release”>0</ns:field>
<ns:field ns:name=”currentOwner_userId”>rtiwari#digite.com</ns:field>
<ns:field ns:name=”currentOwner”>Ravi Tiwari</ns:field>
<ns:field ns:name=”currentQueue”>Ready</ns:field>
<ns:field ns:name=”createdBy”>rtiwari#digite.com</ns:field>
<ns:field ns:name=”createdDate”>2015-08-27T05:11:25Z</ns:field>
<ns:field ns:name=”modifiedBy”>rtiwari#digite.com</ns:field>
<ns:field ns:name=”modifiedDate”>2015-08-31T08:23:17Z</ns:field>
<ns:field ns:name=”workspaceType”>KanbanProject</ns:field>
<ns:field ns:name=”workspaceId”>1540764</ns:field>
<ns:field ns:name=”resolvedBy”>Unassigned</ns:field>
<ns:field ns:name=”cardSize”>M</ns:field>
<ns:field ns:name=”classOfService”>Standard Class</ns:field>
<ns:field ns:name=”defectNumber”>DEF23</ns:field>
<ns:field ns:name=”Category”>Platform</ns:field>
<ns:field ns:name=”FoundInRelease”>0</ns:field>
<ns:field ns:name=”workType”>KanbanDefect</ns:field>
<ns:field ns:name=”Hot_Fix_Release”>0</ns:field>
<ns:field ns:name=”HF_Merged”>0</ns:field>
<ns:field ns:name=”summaryType”>leaf</ns:field>
<ns:field ns:name=”dateIdentified”>2015-08-27T05:11:25Z</ns:field>
<ns:field ns:name=”iteration”>0</ns:field>
<ns:field ns:name=”smartLane”>Kanban board</ns:field>
<ns:field ns:name=”ExternalCardId”>DEF23</ns:field>
<ns:field ns:name=”currentSwimId”>1547904</ns:field>
<ns:field ns:name=”currentSwimName”>Kanban board</ns:field>
<ns:field ns:name=”currentQueueId”>1599633</ns:field>
</ns:fields>
</ns:getCardResponse>
Note: In case if the card is not on the board, then the value for currentSwimId, currentSwimName and currentQueueId will be N/A.
getCardsByFilter
Input Elements
Description | Fetches a list of cards on applying a filter |
projectId | Id of the project that you get from getProject of ProjectService Example: 8 |
cardType | Card type of the card obtained from getCardListForProject output Example: UserStory |
userLoginId | Email address of user to log on to SwiftEASe Example:[email protected] |
FilterType | Type of filter Example:compund |
Output | If successful, the response returns a list of cards on applying a filter |
Input Response Example
<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:kan=”http://kanbancard.webservices.kanban.app.digite.com/”> <soapenv:Header> <wsse:Security xmlns:wsse=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd” soapenv:mustUnderstand=”1″> <wsse:UsernameToken xmlns:wsu=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd” wsu:Id=”UsernameToken-31571602″> <wsse:Username>[email protected]</wsse:Username> <wsse:Password Type=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText”>welcome123</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <kan:getCardsByFilterInput> <kan:projectId>1</kan:projectId> <kan:userLoginId>[email protected]</kan:userLoginId> <kan:cardType>UserStory</kan:cardType> <kan:FilterType kan:type=”compound”> <kan:filterGroup kan:op=”or”> <kan:FilterAttribute kan:field=”CurrentQueue” kan:criteria=”=” kan:value=”Backlog”/> <kan:FilterAttribute kan:field=”CurrentQueue” kan:criteria=”=” kan:value=”Ready”/> </kan:filterGroup> <kan:filterGroup kan:op=”and”> <kan:FilterAttribute kan:field=”priority” kan:criteria=”=” kan:value=”Medium”/> </kan:filterGroup> </kan:FilterType> </kan:getCardsByFilterInput> </soapenv:Body> </soapenv:Envelope> |
Output Response Example
<ns:getCardsByFilterResponse xmlns:ns=”http://kanbancard.webservices.kanban.app.digite.com/”> <ns:Cards> <ns:Card ns:CardSequenceNumber=”UST1″ ns:cardId=”520098″/> <ns:Card ns:CardSequenceNumber=”UST19″ ns:cardId=”522507″/> </ns:Cards> </ns:getCardsByFilterResponse> |
Valid Criteria
Integer, Long, Double, Date itemType | = , != , <= , >= , < , > Example: <kan:FilterAttribute kan:field=”classOfService” kan:criteria=”!=” kan:value=”Expedite”/> |
String itemType | = , != , contains, !contains, startsWith, endsWith contains, !contains, startsWith, endsWith have been introduced in SwiftEASe v. 4.14. Example: <kan:FilterAttribute kan:field=”name” kan:criteria=”startsWith” kan:value=”user”/> |
String itemType used in lookup fields | =, != Example: <kan:FilterAttribute kan:field=”classOfService” kan:criteria=”!=” kan:value=”Expedite”/> |
Person ( currentOwner, createdBy, modifiedBy and others), KanbanRelease, KanbanIteration, Boolean itemType | = , !=
<Require an example> |
Sample of Valid Input Response
<kan:getCardsByFilterInput>
<kan:projectId>40352</kan:projectId>
<kan:userLoginId></kan:userLoginId>
<kan:cardType>UserStory</kan:cardType>
<kan:FilterType kan:type=”compound”>
<!–Zero or more repetitions:–>
<kan:filterGroup kan:op=”and”>
<!–1 or more repetitions:–>
<kan:FilterAttribute kan:field=”name” kan:criteria=”startsWith” kan:value=”user”/>
<kan:FilterAttribute kan:field=”name” kan:criteria=”endsWith” kan:value=”card”/>
<kan:FilterAttribute kan:field=”description” kan:criteria=”!contains” kan:value=”defect”/>
<kan:FilterAttribute kan:field=”smartLane” kan:criteria=”contains” kan:value=”Kanban board”/>
<kan:FilterAttribute kan:field=”Priority” kan:criteria=”=” kan:value=”Low”/>
<kan:FilterAttribute kan:field=”classOfService” kan:criteria=”!=” kan:value=”Expedite”/>
</kan:filterGroup>
</kan:FilterType>
</kan:getCardsByFilterInput>
Sample of Valid Output Response
<ns:getCardsByFilterResponse xmlns:ns=”http://kanbancard.webservices.kanban.app.digite.com/”>
<ns:Cards>
<ns:Card ns:CardSequenceNumber=”UST1″ ns:CreationDate=”2017-02-23T09:40:18Z” ns:ModifiedDate=”2017-02-23T09:49:51Z” ns:cardId=”618069″/>
</ns:Cards>
</ns:getCardsByFilterResponse>
Sample of Invalid Input Response
<kan:getCardsByFilterInput>
<kan:projectId>40352</kan:projectId>
<kan:userLoginId></kan:userLoginId>
<kan:cardType>UserStory</kan:cardType>
<kan:FilterType kan:type=”compound”>
<!–Zero or more repetitions:–>
<kan:filterGroup kan:op=”and”>
<!–1 or more repetitions:–>
<kan:FilterAttribute kan:field=”name” kan:criteria=”>” kan:value=”user”/>
<kan:FilterAttribute kan:field=”description” kan:value=”card”/>
<kan:FilterAttribute kan:field=”Priority” kan:criteria=”contains” kan:value=”Low”/>
<kan:FilterAttribute kan:field=”classOfService” kan:criteria=”endsWith” kan:value=”Expedite”/>
<kan:FilterAttribute kan:field=”currentOwner” kan:criteria=”contains” kan:value=”[email protected]”/>
<kan:FilterAttribute kan:field=”release” kan:criteria=”>=” kan:value=”release 4.14″/>
<kan:FilterAttribute kan:field=”manualProgress” kan:criteria=”startsWith” kan:value=”1″/>
<kan:FilterAttribute kan:field=”iteration” kan:criteria=”=” kan:value=”iteration”/>
Sample of Invalid Output Response
Note: If you enter any invalid criteria in your input response (refer the above row), the output response will display error message instead of empty result. See the instances of error messages in the following response.
<ns:getCardsByFilterResponse xmlns:ns=”http://kanbancard.webservices.kanban.app.digite.com/”>
<ns:Exception>
<ns:Request>
<kan:getCardsByFilterInput xmlns:kan=”http://kanbancard.webservices.kanban.app.digite.com/”>
<kan:projectId>40352</kan:projectId>
<kan:userLoginId/>
<kan:cardType>UserStory</kan:cardType>
<kan:FilterType kan:type=”compound”>
<!–Zero or more repetitions:–>
<kan:filterGroup kan:op=”and”>
<!–1 or more repetitions:–>
<kan:FilterAttribute kan:criteria=”>” kan:field=”name” kan:value=”user”/>
<kan:FilterAttribute kan:field=”description” kan:value=”card”/>
<kan:FilterAttribute kan:criteria=”contains” kan:field=”Priority” kan:value=”Low”/>
<kan:FilterAttribute kan:criteria=”endsWith” kan:field=”classOfService” kan:value=”Expedite”/>
<kan:FilterAttribute kan:criteria=”contains” kan:field=”currentOwner” kan:value=”[email protected]”/>
<kan:FilterAttribute kan:criteria=”>=” kan:field=”release” kan:value=”release 4.14″/>
<kan:FilterAttribute kan:criteria=”startsWith” kan:field=”manualProgress” kan:value=”1″/>
<kan:FilterAttribute kan:criteria=”=” kan:field=”iteration” kan:value=”iteration”/>
</kan:filterGroup>
</kan:FilterType>
</kan:getCardsByFilterInput>
</ns:Request>
<ns:Errors>
<ns:errorMessage ns:details=”Invalid criteria : > in FilterAttribute tag for field : name”/>
<ns:errorMessage ns:details=”criteria attribute is mandatory in FilterAttribute tag for field : description”/>
<ns:errorMessage ns:details=”Invalid criteria : contains in FilterAttribute tag for field : Priority”/>
<ns:errorMessage ns:details=”Invalid criteria : endswith in FilterAttribute tag for field : classOfService”/>
<ns:errorMessage ns:details=”Invalid criteria : contains in FilterAttribute tag for field : currentOwner”/>
<ns:errorMessage ns:details=”Invalid criteria : >= in FilterAttribute tag for field : release”/>
<ns:errorMessage ns:details=”Invalid criteria : startswith in FilterAttribute tag for field : manualProgress”/>
<ns:errorMessage ns:details=”Invalid field value : iteration in FilterAttribute tag for field : iteration”/>
</ns:Errors>
</ns:Exception>
</ns:getCardsByFilterResponse>
moveCardOnBoard
Input Elements
Description | Moves a card across lanes on board |
projectId | Id of the project that you get from getProject of Pro
|