Redmine Provider

RedmineProvider is a class that integrates with Redmine to manage issue tracking through Keep.

Inputs

The _notify function of RedmineProvider takes the following arguments:

  • project_id (str): Required. The ID of the Redmine project.
  • subject (str): Required. The subject of the issue to be created.
  • priority_id (str): Required. The priority ID for the issue.
  • description (str): Optional. The description of the issue.
  • **kwargs (dict): Optional. Additional parameters that can be passed as key-value pairs for the issue.

Outputs

The _notify function of RedmineProvider outputs the following format i.e. the created issue (example):

[
  {
    "issue": {
      "id": 2,
      "project": {
        "id": 1,
        "name": "KeepHQ"
      },
      "tracker": {
        "id": 1,
        "name": "Bug"
      },
      "status": {
        "id": 1,
        "name": "New",
        "is_closed": false
      },
      "priority": {
        "id": 4,
        "name": "Urgent"
      },
      "author": {
        "id": 1,
        "name": "UserName LastName"
      },
      "subject": "Issue1",
      "description": "A new Issue from KeepHQ",
      "start_date": "2024-04-30",
      "due_date": null,
      "done_ratio": 0,
      "is_private": false,
      "estimated_hours": null,
      "total_estimated_hours": null,
      "created_on": "2024-04-30T11:59:17Z",
      "updated_on": "2024-04-30T11:59:17Z",
      "closed_on": null
    }
  }
]

Authentication Parameters

The Redmine provider requires the following authentication parameters:

  • host (str): Required. The host URL of the Redmine server.
  • api_access_key (str): Required. Redmine API Access Key. Refer to the Redmine REST API documentation for details on obtaining an API key.

Connecting with the Provider

To connect with the Redmine provider and manage issues through Keep, follow these steps:

  1. Obtain a Redmine Personal Access Token: Visit the Redmine API documentation to see the steps to get an API key.
  2. Use the following YAML example to create an issue using the Redmine provider, all these are valid arguments:
title=examples/issue_creation_example.yml
# Create an issue using the Redmine provider.
task:
  id: create-redmine-issue
  description: Create an issue in Redmine
  actions:
    - name: create-issue
      provider:
        type: redmine
        config: "{{ providers.redmine-provider }}"
        with:
          project_id: "example_project"
          subject: "Issue Subject"
          priority_id: "2"
          description: "This is the issue description."