public async Task Refresh() { var fullURL = m_DroneURL.TrimEnd('/') + $"/api/repos/{m_RepoOwnerAndName}/builds/latest"; var webClient = new WebClient(); webClient.Headers[HttpRequestHeader.Authorization] = $"Bearer {m_DroneToken}"; var data = await webClient.DownloadDataTaskAsync(fullURL); var dataStr = Encoding.Default.GetString(data); var buildResponse = JsonConvert.DeserializeObject <BuildResponse>(dataStr); if (Enum.TryParse(buildResponse.Status, true, out BuildStatus tmpOutStatus)) { switch (tmpOutStatus) { case BuildStatus.Unknown: m_PluginStatus = PluginStatusEnum.Unknown; break; case BuildStatus.Success: m_PluginStatus = PluginStatusEnum.Success; break; case BuildStatus.Running: m_PluginStatus = PluginStatusEnum.Problem; break; default: m_PluginStatus = PluginStatusEnum.Unknown; break; } } else { m_PluginStatus = PluginStatusEnum.Unknown; } }
public StatusChangedEventArgs(PluginStatusEnum newStatus) { NewStatus = newStatus; }