Service Description: KanbanCardService
Service EPR: https://login.swift-ease.com/axis2/services/KanbanCardService
Service

Status :

Active

Available Operations:

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:sam@digite.com

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:sam@digite.com
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:sam@digite.com
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>chirag1@gandiva.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:getCardsByFilterInput>
<kan:projectId>1</kan:projectId>
<kan:userLoginId>chirag1@gandiva.com</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=”rloware@digite.com”/>
<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=”rloware@digite.com”/>
<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

  • Was this helpful?
  • Yes   No