public async Task <Epic> UpdateEpicMetadata(string epicKey, EpicMeta meta) { using var response = await _client.PostAsJsonAsync($"/api/epics/{epicKey}/meta", meta); response.EnsureSuccessStatusCode(); return(await response.Content.ReadFromJsonAsync <Epic>()); }
public async Task <Epic> UpdateEpic(string epicKey, EpicMeta meta) { var fieldsNameToKeyMap = await GetFields(); var content = MapMetaToIssueContent(meta, fieldsNameToKeyMap); await _client.UpdateIssue(epicKey, content); var epics = await _client.QueryJql($"key={epicKey}"); return(_mapper.MapEpic(epics.Single(), fieldsNameToKeyMap)); }
private static IssueContent MapMetaToIssueContent(EpicMeta meta, IReadOnlyDictionary <string, string[]> map) { var content = new IssueContent { Fields = { { "duedate", meta.DueDate?.ToString("yyyy-MM-dd") } } }; var startDateField = map.TryGetValue("Start date", out var values) ? values.FirstOrDefault() : null; if (startDateField != null) { content.Fields[startDateField] = meta.StartDate?.ToString("yyyy-MM-dd"); } return(content); }
public async Task <Epic> UpdateEpic(string epicKey, EpicMeta meta) { return(await _epicProvider.UpdateEpic(epicKey, meta)); }