team_api gem

Compiles information about team members, projects, etc. and exposes it via a JSON API.

The public-facing version of the API is https://team-api.18f.gov/public/api/. Targeted consumers of this API include:

Installation

This gem currently serves as a Jekyll plugin, though it may become decoupled in the future. Presuming you're using Bundler in your Jekyll project, add the following to your Gemfile:

group :jekyll_plugins do
  gem 'team_api'
end

Then, make sure to add an entry for api_index_layout: to your _config.yml file. The index page will have an endpoints collection with one entry per data collection, where each element has:

  • endpoint: the URL of the collection's JSON endpoint
  • title: title of the collection
  • description: description of the collection

Here's a sample bare-bones template you can drop into your prefered layout:

<h1>API Endpoint Index</h1>
<br/>{% for i in page.endpoints %}
<div class="api_endpoint_desc">
<h2><a href="{{ i.endpoint }}"<code>{{ i.endpoint }}</code></a> - {{ i.title }}</h2>
<p>{{ i.description }}</p>
</div>
{% endfor %}

Testing

Tests have been set up to be run by the ./go script. To run the test suite, simply type the following into the console:

$ ./go test

To run the tests and then attempt to build the gem, run the continuous integration command:

$ ./go ci_build

Public domain

This project is in the worldwide public domain. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.