2
請耐心等待我已經通過示例:How to Add an Attachment to a User Story using Rally REST .NETRally C#:是否有可能創建一個新的用戶故事以及附件? (避免查詢用戶故事參考)
但是,示例代碼需要查詢來標識最新的用戶故事引用。該示例演示瞭如何將附件添加到現有的用戶故事。我想完成:創建一個新的用戶故事和一個附件。
這是我的方法。
public void createUsWithAttachment(string workspace, string project,
string userStoryName, string userStoryDescription){
//Authenticate with Rally
this.EnsureRallyIsAuthenticated();
//UserStory Setup
DynamicJsonObject toCreate = new DynamicJsonObject();
toCreate[RallyField.workSpace] = workspace;
toCreate[RallyField.project] = project;
toCreate[RallyField.name] = userStoryName;
toCreate[RallyField.description] = userStoryDescription;
//get the image reference - assume that this is where the image lives after being downloaded from Outlook
String imageFilePath = "C:\\Users\\secret\\...";
String imageFileName = "file.png";
String fullImageFile = imageFilePath + imageFileName;
Image myImage = Image.FromFile(fullImageFile);
// Convert Image to Base64 format
string imageBase64String = imageToBase64(myImage, System.Drawing.Imaging.ImageFormat.Png);
// Length calculated from Base64String converted back
var imageNumberBytes = Convert.FromBase64String(imageBase64String).Length;
// DynamicJSONObject for AttachmentContent
DynamicJsonObject myAttachmentContent = new DynamicJsonObject();
myAttachmentContent["Content"] = imageBase64String;
try
{
//create user story
CreateResult createUserStory = _api.Create(RallyField.hierarchicalRequirement, toCreate);
//create attachment
CreateResult myAttachmentContentCreateResult = _api.Create("AttachmentContent", myAttachmentContent);
String myAttachmentContentRef = myAttachmentContentCreateResult.Reference;
Console.WriteLine("Created: " + myAttachmentContentRef);
// DynamicJSONObject for Attachment Container
DynamicJsonObject myAttachment = new DynamicJsonObject();
//Note the below commented line
/*myAttachment["Artifact"] = ;*/
myAttachment["Content"] = myAttachmentContentRef;
myAttachment["Name"] = "AttachmentFromREST.png";
myAttachment["Description"] = "Attachment Desc";
myAttachment["ContentType"] = "image/png";
myAttachment["Size"] = imageNumberBytes;
//create attachment
CreateResult myAttachmentCreateResult = _api.Create("Attachment", myAttachment);
}
catch (WebException e)
{
Console.WriteLine(e.Message);
}
}
在上面的註釋行,我需要去創建用戶故事,我可以做一個參考,但這需要另一種方法來獲取用戶的故事,我有。 但是我想知道這是否可以通過不同的方式完成,類似於我們如何使用dynamicJsonObject分段創建用戶故事。 我在想這樣的事情會起作用,但我有一段艱難的時光。
DynamicJsonObject toCreate = new DynamicJsonObject();
toCreate[RallyField.workSpace] = workspace;
toCreate[RallyField.project] = project;
toCreate[RallyField.name] = userStoryName;
toCreate[RallyField.description] = userStoryDescription;
toCreate["Content"] = imageToBase64;
CreateResult createUserStory = _api.Create(RallyField.hierarchicalRequirement, toCreate);
我上面的假設是不會按計劃進行,我想知道是否有一種方式來創建帶有附件的新的用戶故事,而不必查詢的例子一樣整潔所示,將其與用戶故事參考鏈接提供。 感謝作者和鏈接中的示例。
謝謝先生。 。 我也在研究爲用戶故事添加不同的附件類型。 (.jpeg,.java,.sql,....) 有關如何執行此操作的任何提示? –
內容都必須以base64編碼,所以你只需要正確設置Name和ContentType,你應該很好。 –
Hello Kyle:關於如何上傳附件集並關聯用戶故事的任何想法。 我想遍歷包含我的附件的目錄,並將每個附件轉換爲base64。 我只是堅持如何將我的目錄中的每個附件上傳到用戶故事。 –