Topcoder Integration with the Topcoder Chrome Extension

If you have in­house developers, they likely use tools like GitHub and GitLab to manage their projects and code. And some of the stories and issues your team tracks in those tools might be perfect for crowdsourcing, such as repeatable tasks and projects that fall outside your team's core skill set.

With the Topcoder Chrome browser extension, it's easy to crowdsource tasks and issues from the tools your team already uses. Developers simply select the issues they want the Topcoder Community to work on, and with the click of a button those issues are turned into draft crowdsourcing challenges in the Topcoder Marketplace.

Just like traditional challenges, each draft challenge is assigned a Topcoder copilot to launch and manage the competition. And at the end of the challenge the Topcoder Community member who submitted the winning solution merges their code back into your code base with a reference to the issue, so your team doesn't have to do anything extra to download, transfer, and merge the final deliverables into their projects.

The Topcoder plugin currently supports GitHub and GitLab. Support for JIRA, Trello, SmartSheets, and others will be added soon.

Installing the Topcoder Chrome Extension

GitHub Integration

GitLab Integration

Adjusting Settings

 

Installing the Topcoder Chrome Extension

Install the Topcoder Chrome extension from the Chrome Web Store. Chrome is the only browser currently supported.

When prompted, click “Add Extension” to add it to your Chrome toolbar.

 

GitHub Integration

Setup

Login to GitHub and authorize the Topcoder plugin. Next, create a new repository or choose an existing one, and click on the Issues tab for your repository. You’ll see the Topcoder button in the upper right.

The first time you click the button, you’ll be prompted to enter your Topcoder username and password.

Project Association

Before you can send issues from GitHub to the Topcoder Marketplace, you’ll need to associate your repository with a Topcoder project.

This is a one­time setup required only the first time the repository is associated with the Topcoder project. You won’t be required to complete this step each time an issue is pushed from GitHub to the Topcoder Marketplace.

Login to Topcoder Direct and select the project into which you want to push GitHub issues. Note the project ID at the end of the URL in Direct—this is the ID you’ll need in the next step when prompted to associate your GitHub repository with your Topcoder project.

Note also that your project in Direct must be associated with a billing account in order to launch draft challenges created through the Topcoder integration plugin.

Naming Issues and Pricing Challenges

Return to GitHub and the Issues tab for your repository. If you don’t have any issues in your repository, click the New Issue button and create one.

The Topcoder challenge type (First­to­Finish or Code) and the challenge fees are specified by adjusting the name of the issue. Simply insert a few parameters within brackets at the front of the issue name as follows:

  • [$50] Issue_Name will create a F2F challenge with a $50 prize

  • [$100, $50] Issue_Name will create a Code challenge with a $100 prize for first place and a $50 prize for second place

If challenge fees are not specified in the issue title, the issue will be pushed to Topcoder as a Code challenge with a $500 prize by default. However, the challenge type and prize can be adjusted in Direct prior to launching the challenge.

Pushing GitHub Issues to Topcoder

Once your new issue has been saved, check the box next to it on the Issues tab and click the Topcoder button. Enter your Topcoder project ID from Direct in the pop­up window and click the Enter button.

A draft Topcoder challenge was just created within the selected Topcoder project.

Verify the success of the challenge creation by viewing the issue in GitHub. You should see a new comment with a link to the challenge in Topcoder. If you see this, you’ve successfully configured Topcoder Integration.

You should also see your draft challenge within your project in Direct. At this point, you can adjust or launch the challenge as normal from within Direct.

 

GitLab Integration

Setup

Login to GitLab and create a new project or choose an existing one. Next, click on the Issues tab for your project, and then open an issue or create a new one. You’ll see the Topcoder button in the upper right when viewing the detail of an issue.

The first time you click the button, you’ll be prompted to authorize the Topcoder plugin. Next, enter your Topcoder username and password when prompted.

Project Association

Before you can send issues from GitLab to Topcoder, you’ll also need to associate it with a Topcoder project. This is a one­time setup required only the first time the GitLab project is associated with the Topcoder project, so you won’t be required to complete this step for subsequent issues.

Login to Topcoder Direct and select the project into which you want to push GitLab issues. Note the project ID at the end of the URL in Direct. This is the ID you’ll need to plug into GitLab to associate your repository with the Topcoder project.

Note also that your project in Direct must be associated with a billing account in order to launch draft challenges created through the Topcoder integration plugin.

Naming Issues and Pricing Challenges

Return to GitLab and the Issues tab for your project. If you don’t have any issues in your project, click the New Issue button and create one. Note that you can specify the challenge type (F2F or Code) and the challenge fees by using brackets as follows:

  • [$50] Issue_Name will create a F2F challenge with a $50 prize

  • [$100, $50] Issue_Name will create a Code challenge with a $100 prize for first place and a $50 prize for second place

If challenge fees are not specified in the issue title, the issue will be pushed to Topcoder as a Code challenge with a $500 prize by default. However, the challenge type and prize can be adjusted in Direct prior to launching the challenge.

Pushing GitLab Issues to Topcoder

Once your new issue has been saved, click the Topcoder button and enter your Topcoder project ID from Direct in the pop­up window.

A draft Topcoder challenge was just created within the selected Topcoder project. Verify the success of the challenge creation by viewing the issue in GitHub. You should see a new comment with a link to the challenge in Topcoder. If you see this, you’ve successfully configured Topcoder Integration.

You should also see your draft challenge within your project in Direct. At this point, you can adjust or launch the challenge as normal from within Direct.

 

Adjusting Settings

To adjust the Topcoder project linked to your GitHub repository or GitLab project, simply adjust the Chrome extension settings. But note that you'll first need your project ID from Direct as described above.

Click on the Chrome extension button in your Chrome toolbar and choose Options.

The “GitHub­Topcoder Mappings” fields display your current integration settings (if any). The left field displays the Topcoder project ID from Direct, and the right field displays the API link to your GitHub repository.

Any current mappings can’t be edited, so to adjust the project associated with a repository you’ll need to add a new mapping and delete the old one. Copy the GitHub link from the bottom row and paste into the field just above it, and enter the new Topcoder project ID in the field to the left. Click Add to save the new mapping, and then delete the old mapping from your settings.

Note that JIRA integration is not yet supported.

 

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.