Git Product home page Git Product logo

arc-jira's Introduction

About Arc-JIRA

Note that this project is is deprecated. It is neither supported nor any longer the best way to integrate Phabricator with JIRA. This is an archived project and is no longer supported or updated by Facebook. Please do not file issues or pull-requests against this repo.

This package provides Arcanist extension that allows integration between Differential code review tool and JIRA issue tracker.

Installation

Basic Arcanist configuration

Put arc_jira_lib directory somewhere inside your project and update your .arcconfig to look similar to this one:

{
  "project_id" : "myproject",
  "conduit_uri" : "http://my.phabricator.instance/",
  "phutil_libraries" : {
    "arc_jira_lib" : "somewhere/arc_jira_lib"
  },
  "arcanist_configuration" : "ArcJIRAConfiguration",
  "jira_api_url" : "http://my.jira.instance/"
}

Apache projects

For Apache projects jira_api_url should be set to https://issues.apache.org/jira/si/.

Extended Arcanist configuration

These configuration options are optional, but will provide greater amount of integration between Phabricator and JIRA.

JIRA project

With basic configuration you'll have to specify full issue name when calling arc diff, for example arc diff --jira PROJECT-123. If you add this:

"jira_project" : "PROJECT"

to your configuration file you'll be able to use both arc diff --jira PROJECT-123 and arc diff --jira 123.

Linting

Arc-JIRA includes a basic linter for Java code that checks line lengths, trailing spaces, etc. To use the linter add this to your configuration:

"lint_engine" : "JavaLintEngine"

and optionally:

"max_line_length" : "82"

The default line length is 80 characters. The linter will automatically run on modified files when you use arc diff.

Attribution

If patch author differs from the committer some Apache projects add (Author via Committer) to the commit message. To get this behaviour when using arc commit, add this to your configuration file:

"events.listeners" : ["CommitListener"]

Resolving JIRA issue after committing

Unfortunately currently running arc commit won't resolve the linked JIRA issue automatically for you, but it can provide you with a link to resolving the issue in JIRA web interface. If you add this:

"jira_base_url" : "http://my.jira.instance/some/path/"

to your configuration file, Arc-JIRA will provide you with a link to resolving linked JIRA issue after you run arc commit.

Apache projects

For Apache projects jira_base_url should be set to https://issues.apache.org/jira/secure/.

Phabricator configuration

Arc-JIRA requires that used Phabricator instance has a user named JIRA with email pointing to email interface of your JIRA instance. This user will be used to push comments from Differential to JIRA.

If you want to automatically attach patches to JIRA revisions when someone updates a diff in Differential, you just have to set metamta.differential.attach-patches option to true in Phabricator configuration file.

Apache projects

Email interface address of Apache JIRA instance is [email protected].

JIRA configuration

JIRA will automatically create a user for your Phabricator instance, first time it gets email from it. If you don't have administrator access to used JIRA instance you won't be able to change name of the Phabricator user. It is a good idea to send an email manually (using sendmail for example) from Phabricator email address (set in Phabricator configuration as metamta.default-address) before using Arc-JIRA so you can set the user name. Example email will look like this:

To: [email protected]
From: Phabricator user name <[email protected]>
Subject: PROJECT-123 [jira] Create new JIRA user.

Setting Phabricator user name.

where PROJECT-123 is a name of some JIRA issue.

Usage

Arc-JIRA workflow differs only minimally from the standard Arcanist workflow.

First time you issue arc diff you should add --jira switch with JIRA issue ID, for example arc diff --jira PROJECT-123. That's all, other steps are the same as in standard Arcanist workflow.

arc-jira's People

Contributors

mareksapota-fb avatar jamesgpearce avatar jsichi avatar scottmac avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.