Exemplo n.º 1
0
        public async Task CreateIssue(CreateIssueParameters parameters)
        {
            var issueResult = await _gitLabFacade.CreateIssue(parameters);

            if (issueResult.IsFailure)
            {
                _presenter.ShowError("Failed to create issue", issueResult.Error);
                return;
            }

            _presenter.ShowSuccess($"Successfully created issue #{issueResult.Value}");
        }
Exemplo n.º 2
0
        public async Task <Result <int> > CreateIssue(CreateIssueParameters parameters)
        {
            var client = await _clientFactory.Create();

            string projectId = await GetProjectId(client, parameters.Project);

            if (projectId == null)
            {
                return(Result.Fail <int>($"Project {parameters.Project} was not found"));
            }

            int?assigneeId = await GetUserId(client, parameters.AssignedToCurrentUser, parameters.Assignee);

            var createdIssue = await client.Issues.CreateAsync(new CreateIssueRequest(projectId, parameters.Title)
            {
                Description = parameters.Description,
                Labels      = parameters.Labels,
                Assignees   = assigneeId.HasValue ? new List <int> {
                    assigneeId.Value
                } : null,
            });

            return(Result.Ok(createdIssue.Iid));
        }
Exemplo n.º 3
0
 public async Task <Result <int> > CreateIssue(CreateIssueParameters parameters)
 => await SafeGetResult(() => _issuesFacade.CreateIssue(parameters));