Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hormesiel/todoist-create-task.gha
A GitHub Action for creating a task in Todoist.
https://github.com/hormesiel/todoist-create-task.gha
actions automation github-actions todoist
Last synced: 24 days ago
JSON representation
A GitHub Action for creating a task in Todoist.
- Host: GitHub
- URL: https://github.com/hormesiel/todoist-create-task.gha
- Owner: hormesiel
- Created: 2024-07-04T10:25:50.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-17T09:28:26.000Z (4 months ago)
- Last Synced: 2024-08-03T02:04:23.141Z (4 months ago)
- Topics: actions, automation, github-actions, todoist
- Language: Shell
- Homepage:
- Size: 32.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
A GitHub Action for creating a task in Todoist.
# Inputs
Input descriptions are taken from the [official Todoist API documentation](https://developer.todoist.com/rest/v2/#create-a-new-task). Text in square brackets [ ] has been added or modified by me.
| Name | Required | Default | Description |
| :---: | :------: | :-----: | ----------- |
| `task-name` | true | | Task content [or name]. This value may contain markdown-formatted text and hyperlinks. Details on markdown support can be found in the Text Formatting article in [Todoist's] Help Center. |
| `todoist-api-token` | true | | The Todoist API token of the account to create the task in. |
| `task-assignee-id` | false | | The responsible user ID (only applies to shared tasks). |
| `task-description` | false | | A description for the task. This value may contain markdown-formatted text and hyperlinks. Details on markdown support can be found in the Text Formatting article in [Todoist's] Help Center. |
| `task-due-date` | false | | Specific date in `YYYY-MM-DD` format relative to user's timezone. |
| `task-due-datetime` | false | | Specific date and time in RFC3339 format in UTC. |
| `task-due-lang` | false | | 2-letter code specifying language in case `due_string` is not written in English. |
| `task-due-string` | false | | Human defined task due date (ex.: "next Monday", "Tomorrow"). Value is set using local (not UTC) time. |
| `task-duration` | false | | A positive (greater than zero) integer for the amount of `duration_unit` the task will take. If specified, you **must** define a `duration_unit`. |
| `task-duration-unit` | false | | The unit of time that the `duration` field above represents. Must be either `minute` or `day`. If specified, `duration` **must** be defined as well. |
| `task-labels` | false | | The task's labels (a list of names that may represent either personal or shared labels). |
| `task-order` | false | | Non-zero integer value used by clients to sort tasks under the same parent. |
| `task-parent-id` | false | | Parent task ID. |
| `task-priority` | false | | Task priority from 1 (normal) to 4 (urgent). |
| `task-project-id` | false | | Task project ID. If not set, task is put to user's Inbox. |
| `task-section-id` | false | | ID of section to put task into. |# Usage
## Example 1
```yml
name: 'Your workflow name'
on: [workflow_dispatch]jobs:
create-todoist-task:
name: 'Create Todoist task'
runs-on: ubuntu-latest
steps:
- name: 'Create Todoist task'
uses: hormesiel/todoist-create-task.gha@v1
with:
task-name: 'Your task name'
task-assignee-id: '12345678'
task-description: "Hey what's up?"
task-due-date: '2024-07-17'
task-duration: 30
task-duration-unit: 'minute' # Duration in minutes
task-labels: '["🔥 Motivation", "😃 Satisfaction"]' # Multiple labels (JSON array between single quotes)
task-parent-id: '0123456789' # Parent task
task-priority: 3
todoist-api-token: ${{ secrets.TODOIST_API_TOKEN }}
```## Example 2
```yml
name: 'Your workflow name'
on: [workflow_dispatch]jobs:
create-todoist-task:
name: 'Create Todoist task'
runs-on: ubuntu-latest
steps:
- name: 'Create Todoist task'
uses: hormesiel/todoist-create-task.gha@v1
with:
task-name: 'Your **task** name' # Markdown in name (bold in this case)
task-description: 'Hey what's up `man`?' # Markdown in description (code in this case)
task-due-datetime: '2023-02-21T18:24:32Z' # Due date & time
task-duration: 2
task-duration-unit: 'day' # Duration in days
task-labels: '[]' # Empty labels array (which is equivalent to omitting this input)
task-order: 1 # Custom order
task-project-id: '0123456789' # Specific project
todoist-api-token: ${{ secrets.TODOIST_API_TOKEN }}
```## Example 3
```yml
name: 'Your workflow name'
on: [workflow_dispatch]jobs:
create-todoist-task:
name: 'Create Todoist task'
runs-on: ubuntu-latest
steps:
- name: 'Create Todoist task'
uses: hormesiel/todoist-create-task.gha@v1
with:
task-name: 'Your `task` name' # Markdown in name (code in this case)
task-due-lang: 'fr' # Due lang
task-due-string: 'hier' # Due string (in french because of `task-due-lang`)
task-duration: 180 # Duration > 60 minutes
task-duration-unit: 'minute'
todoist-api-token: ${{ secrets.TODOIST_API_TOKEN }}
```## Example 4
```yml
name: 'Your workflow name'
on: [workflow_dispatch]jobs:
create-todoist-task:
name: 'Create Todoist task'
runs-on: ubuntu-latest
steps:
- name: 'Create Todoist task'
uses: hormesiel/todoist-create-task.gha@v1
with:
task-name: 'Your _task_ name' # Markdown in name (italic in this case)
task-due-string: 'yesterday' # Due string (in english by default)
todoist-api-token: ${{ secrets.TODOIST_API_TOKEN }}
```