Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.
Justin Gasper edited this page Aug 15, 2018 · 19 revisions

How to use Topcoder-X

This document will describe how to use Topcoder-X as a copilot.

Topcoder-X Goal

Topcoder-X is an application that allows a copilot or Topcoder customer to manage work directly through Gitlab or Github. When an issue is created in a Gitlab or Github project set up in Topcoder-X, Topcoder-X will create a Topcoder challenge to mirror the Gitlab or Github issue, and it will ensure that the challenge has the correct prize, copilot, assignee, description, and title.

As the Gitlab or Github issue is updated, Topcoder-X will ensure that the Topcoder challenge associated with the issue is updated appropriately. When the Gitlab or Github issue is closed, Topcoder-X will activate and close the Topcoder challenge, ensuring that the members (submitter and copilot) get paid as expected.

General flow

Topcoder-X monitors Gitlab and Github repositories, looking at issues created. Gitlab and Github repositories will need to be configured with a webhook callback for Topcoder-X so that Topcoder-X is "aware" of changes made to issues on a repo. Topcoder-X can create this webhook for you.

When Topcoder-X performs specific actions to the Topcoder challenge that is associated with a Github / Gitlab ticket, Topcoder-X will create comments on the issue in Github / Gitlab explaining the update and where to find the Topcoder challenge.

Setup

When you first login to Topcoder-X, you will see a screen like this:

Link Github and Gitlab

Topcoder-X first needs to know about your Github and Gitlab username. It will use this to map your Github and Gitlab user to your Topcoder handle, as well as make comments to issues on your behalf on Gitlab and Github.

  • Click your username in the upper right
  • Select Settings

You will now see a screen where Github and Gitlab can be setup:

Click Setup for both Gitlab and Github and authorise Topcoder-X to have access to your repo.

Once done, you should see checkmarks next to both Gitlab and Github.

Add a project

A project in Topcoder-X maps a Topcoder Direct project ID to a git repo. When you first launch Topcoder-X, you won't have any projects set up:

You can set up a project by clicking Add a Project on the Project Management tab.

Fields

  • Project Name - Anything you want to use as the project name. This can be anything memorable
  • Direct ID - This is the Topcoder Direct ID for the project. This should be a 5 digit number. You can retrieve this by pulling the projectId value from the end of the URL when you visit the project in Topcoder Direct. For example: https://www.topcoder.com/direct/projectOverview?formData.projectId=17159 has a Direct ID of 17159
  • Repo URL - This is the URL to the repository in either Gitlab or Github. This should be the link to the actual repository that houses code. This is not the group or parent of the repository.

Here's an example:

Current vs. Archived project

A current project is one you are working right now and that is active for members to be able to access. We prioritise those in the UI. An archived project is one that isn't currently active for members or that has completed. Archived projects are still available in the UI, for historical purposes, but they aren't currently monitored by Topcoder-X. A project can be moved from current to archived and back again without any side effects.

Clone this wiki locally