bluetea/jira-rest-api-bundle

Atlassian JIRA REST API Symfony2 Bundle

Installs: 8 672

Dependents: 1

Suggesters: 0

Security: 0

Stars: 2

Watchers: 6

Forks: 4

Open Issues: 0

Type:symfony-bundle

dev-master 2017-02-23 13:43 UTC

This package is not auto-updated.

Last update: 2024-04-13 14:23:51 UTC


README

This Symfony2 Bundle uses the JIRA REST API PHP Library. This bundle adds configuration and initializes the endpoints with dependency injection and tagged services.

Installation

Add this bundle to your composer.json

composer.phar require "bluetea/jira-rest-api-bundle" dev-master

Enable it in the AppKernel.php

new Bluetea\JiraRestApiBundle\BlueteaJiraRestApiBundle(),

Add the configuration to your config.yml

bluetea_jira_rest_api:
    api_client: guzzle
    api:
        jira: https://atlassian.domain.com/rest/api/2/
        crowd: https://atlassian.domain.com/crowd/rest/usermanagement/latest/
    authentication:
        jira:
            type: basic # or anonymous
            username: username # mandatory is basic authentication is chosen
            password: password # mandatory is basic authentication is chosen
        crowd:
            type: basic # or anonymous
            username: username # mandatory is basic authentication is chosen
            password: password # mandatory is basic authentication is chosen

Usage

<?php

namespace Acme\DemoBundle\Controller;

class TestController extends Controller
{
    public function testAction()
    {
        $projectEndpoint = $this->get('jira_rest_api.jira.endpoint.project');
        // Get all projects
        return new JsonResponse($projectEndpoint->findAll());
    }
}

Check the JIRA REST API PHP Library for all the endpoints. The endpoints are loaded in the services.yml. If you want to add your custom endpoints you can do this in your own bundle and tag them with the jira_rest_api.jira_endpoint tag for a jira endpoint and the jira_rest_api.crowd_endpoint tag for a crowd endpoint.

Example:

parameters:
    acme_demo.endpoint.custom.class: Acme\DemoBundle\Endpoint\CustomEndpoint

services:
    acme_demo.endpoint.custom:
        class: %acme_demo.endpoint.custom.class%
        tags:
            - { name: jira_rest_api.jira_endpoint }

We would greatly appreciate if you submit a PR if you expand the endpoints in JIRA REST API PHP Library!

Documentation

JIRA 6.3.10 REST API Documentation

JIRA REST API Developers Documentation

Crowd REST Resources

Debug

Install the JIRA REST API browser to test your calls. You find it at https://atlassian.yourdomain.com/plugins/servlet/restbrowser. Your getting a 404? Install the plugin first via the plugin manager.