REST API を使用して Rally のテスト セットからテスト ケースを削除するにはどうすればよいですか?
JavaScript から呼び出されることを意図しています。ドキュメントで情報を見つけることができませんでした。リンクをいただければ幸いです。
REST API を使用して Rally のテスト セットからテスト ケースを削除するにはどうすればよいですか?
JavaScript から呼び出されることを意図しています。ドキュメントで情報を見つけることができませんでした。リンクをいただければ幸いです。
Javascriptを使用しているので、RallyのAppSDKも使用していますか?もしそうなら、これを示す簡単なAppSDKの例を作成するのは比較的簡単です-AppSDKが提供する特典を使用します。
ストレートアップRESTを使用している場合、落とし穴は、テストケースにTestSet属性フィールドがないことです。マッピングは、テストセットにテストケースのコレクションがあることです。これを行う方法は、RESTを介してテストセットをクエリすることです。
https://rally1.rallydev.com/slm/webservice/1.34/testset/12345678910
これは、次のような応答を提供します(読みやすさのためにXMLを使用し、実際にはJSONを使用することをお勧めします)。
<?xml version="1.0" encoding="UTF-8"?>
<TestSet rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testset/1234741798" objectVersion="7" refObjectName=" Data Import Tests" CreatedAt="Mar 29">
<CreationDate>2012-03-30T00:23:59.964Z</CreationDate>
<ObjectID>1234741798</ObjectID>
<Subscription rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/subscription/1231154643" refObjectName="My Subscription" type="Subscription" />
<Workspace rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/workspace/1234498610" refObjectName="My Workspace" type="Workspace" />
<Changesets />
<Description>Tests to validate data import</Description>
<Discussion />
<FormattedID>TS11</FormattedID>
<LastUpdateDate>2012-03-30T00:25:56.544Z</LastUpdateDate>
<Name>Grid Data Import Tests</Name>
<Notes />
<Owner rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/user/1234320127" refObjectName="My Username" type="User" />
<Project rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/project/1234731604" refObjectName="My Project" type="Project" />
<RevisionHistory rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/revisionhistory/1234741799" type="RevisionHistory" />
<Tags />
<Blocked>false</Blocked>
<Iteration rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/iteration/1234172067" refObjectName="Iteration 1" type="Iteration" />
<PlanEstimate>2.0</PlanEstimate>
<Rank>500000010240.000</Rank>
<Release rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/release/1234791788" refObjectName="Release 1" type="Release" />
<ScheduleState>Defined</ScheduleState>
<Tasks />
<TestCaseStatus>SOME_RUN_SOME_NOT_PASSING</TestCaseStatus>
<TestCases>
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234758065" refObjectName="Test Case 1" type="TestCase" />
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234757395" refObjectName="Test Case 2" type="TestCase" />
<TestCase rallyAPIMajor="1" rallyAPIMinor="34" ref="https://rally1.rallydev.com/slm/webservice/1.34/testcase/1234000782" refObjectName="Test Case 3" type="TestCase" />
</TestCases>
</TestSet>
これは、3つのテストケースのコレクションを示しています。テストケース3を削除するには、次のように、テストケース1とテストケース2のみを含むRESTリクエストを送信します。
<TestSet ref="/testset/1234741798">
<TestCases>
<TestCase ref="/testcase/1234758065"/>
<TestCase ref="/testcase/1234757395"/>
</TestCases>
</TestSet>
これにより、テストセットが更新され、テストケース3が削除され、最初の2つのテストケースのみが含まれるようになります。
クライアント側のコードは、テストセットクエリからのREST応答をループし、不要なテストケースを破棄して必要なテストケースを保持するPOSTリクエストを作成する必要があります。