Skip to content

baires/shouldideploy

Repository files navigation

shouldideploy.today

FOSSA Status

Getting started

  • Run:
    • npm i — install deps.
    • npm run dev — start the dev server.
    • now dev if you need local serveless function (requires now)

Open in Gitpod

Add new translations

For adding new language translations, see docs/adding-languages.md

API endpoint

There is an endpoint to use on your CI or just for fun at https://shouldideploy.today/api

You can also provide optional parameters to customize the API response:

  • tz: The timezone to use when evaluating the date and time. The default value is UTC. Pass a valid timezone string, such as America/New_York or Europe/London default UTC.
  • date: The date to evaluate. The default value is the current date. Pass a valid date string in the format YYYY-MM-DD, such as 2023-03-31.
  • lang: The language for the response message. Supports base languages (en, es, pt) and regional variants (es-AR). Falls back to base language or English if not found. Default is en.

Examples

Get the default API response using the current date and time in the UTC timezone:

https://shouldideploy.today/api

Get the API response for a specific timezone (e.g., Europe/London):

https://shouldideploy.today/api?tz=Europe/London

Get the API response for a specific date (e.g., 2023-03-31) in the UTC timezone:

https://shouldideploy.today/api?date=2023-03-31

Get the API response for a specific date (e.g., 2023-03-31) in a specific timezone (e.g., America/New_York):

https://shouldideploy.today/api?tz=America/New_York&date=2023-03-31

Get the API response in Spanish:

https://shouldideploy.today/api?lang=es

Get the API response in Argentina Spanish with a specific timezone:

https://shouldideploy.today/api?lang=es-AR&tz=America/Buenos_Aires

Integrations

Badge

Embed a live deploy-status badge in any README:

![Should I Deploy?](https://shouldideploy.today/api/badge?tz=America/New_York)

Supports ?tz= (IANA timezone, default UTC) and ?lang= (language code, default en).

You can also customize the badge appearance with the ?style= parameter. Supported styles (same as shields.io):

Style Preview
flat (default) flat
flat-square flat-square
plastic plastic
for-the-badge for-the-badge
social social
![Should I Deploy?](https://shouldideploy.today/api/badge?tz=America/New_York&style=for-the-badge)

CLI / Pipeline gate

Block a deploy step in any CI pipeline:

curl --fail -s "https://shouldideploy.today/api/cli?tz=America/New_York" && ./deploy.sh

Returns [shouldideploy] YES: <reason> with HTTP 200 when safe to deploy, or [shouldideploy] NO: <reason> with HTTP 425 when not. curl --fail exits non-zero on 4xx/5xx, blocking && deploy.sh.

Supports ?tz= and ?lang= parameters.

API Response

The API returns a JSON object containing the following keys:

  • timezone: The timezone used for evaluating the date and time.
  • date: The date provided as parameter in ISO format (YYYY-MM-DDTHH:mm:ss.sssZ)
  • shouldideploy: A boolean value indicating whether you should deploy today or not.
  • message: A string containing a reason or explanation for the shouldideploy result.

Example response:

{
  "timezone": "UTC",
  "date": "2023-03-31T00:00:00.000Z",
  "shouldideploy": false,
  "message": "It's Friday, better not deploy today."
}

Community projects

Credits

Favicon created by emilegraphics

License

FOSSA Status

About

Source of shouldideploy.today

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors