Example #1
0
        async public Task Run()
        {
            string hostname    = _callback.GetCurrentHostName();
            string accessToken = _callback.GetCurrentAccessToken();
            string projectName = _callback.GetCurrentProjectName();
            int    iid         = _callback.GetCurrentMergeRequestIId();

            GitLabTaskRunner client = new GitLabTaskRunner(hostname, accessToken);
            await client.RunAsync(async (gitlab) =>
            {
                if (_label == Common.Constants.Constants.HighPriorityLabel)
                {
                    SingleMergeRequestAccessor accessor            = gitlab.Projects.Get(projectName).MergeRequests.Get(iid);
                    GitLabSharp.Entities.MergeRequest mergeRequest = await accessor.LoadTaskAsync();
                    bool wasHighPriority = mergeRequest.Labels?
                                           .Contains(Common.Constants.Constants.HighPriorityLabel) ?? false;
                    if (!wasHighPriority)
                    {
                        string[] labels = mergeRequest.Labels
                                          .Concat(new string[] { Common.Constants.Constants.HighPriorityLabel }).ToArray();
                        UpdateMergeRequestParameters updateMergeRequestParameters = new UpdateMergeRequestParameters(
                            null, null, null, null, null, null, null, labels);
                        await accessor.UpdateMergeRequestTaskAsync(updateMergeRequestParameters);
                    }
                }
                return(null);
            });
        }
        async public Task Run()
        {
            string hostname    = _callback.GetCurrentHostName();
            string accessToken = _callback.GetCurrentAccessToken();
            string projectName = _callback.GetCurrentProjectName();
            int    iid         = _callback.GetCurrentMergeRequestIId();

            GitLabTaskRunner client = new GitLabTaskRunner(hostname, accessToken);
            await client.RunAsync(async (gitlab) =>
            {
                SingleMergeRequestAccessor accessor = gitlab.Projects.Get(projectName).MergeRequests.Get(iid);
                if (_endpoint == "approve")
                {
                    return(await accessor.ApproveTaskAsync());
                }
                else if (_endpoint == "unapprove")
                {
                    return(await accessor.UnapproveTaskAsync());
                }
                return(null);
            });
        }