How to integrate Jira with GitLab CE? - jira

We have self hosted GitLab CE and Jira, we want
link git commit with jira issue
link git commit with jira issue status, like we can start/move/close issue by git issues
limit above operations on specific branches, e.g., change issue status only when commits on master branch since we perform merge request for every single feature/bug
but only GitLab EE built-in supports Jira integration, how could I do that for GitLab CE?
I'm on GitLab CE 7.8.2, Jira+Agile 6.4

I think there is now a better way:
https://docs.gitlab.com/ce/user/project/integrations/jira.html
GitLab can be configured to interact with JIRA. Configuration happens via user name and password. Connecting to a JIRA server via CAS is not possible.
Each project can be configured to connect to a different JIRA instance, see the configuration section. If you have one JIRA instance you can pre-fill the settings page with a default template. To configure the template see the Services Templates document.
Once the project is connected to JIRA, you can reference and close the issues in JIRA directly from GitLab.

You can take a look at this project : https://github.com/akraxx/gitlab-jira-integration. It's a Java application, so you will need a server with a JVM to run it.
Follow the README to know how to configure it :)

Note that, with GitLab 13.3 (August 2020), you don't have to setup a third-party integration on each project anymore.
You can do so at your managed Gitlab instance level (free edition).
Instance-level project integration management for external services
Administrators of self-managed GitLab can now integrate third-party services with all projects on the instance from a single interface.
Previously, integrations had to be configured per project, which meant that if an instance had thousands of projects, thousands of individual configurations had to be manually configured. Not only was this time-consuming, but it was also error-prone, hard to update, and made it difficult to enforce integrations as a policy.
By configuring integrations across all projects, administrators save themselves and their project owners incredible amounts of time and effort.
This is the first iteration of this functionality. In upcoming releases, we will expand this feature to the group level, add more configuration and compliance options, and more.
See Documentation and Issue.
Plus, with GitLab 13.4 (September 2020)
GitLab for Jira and DVCS Connector now in Core
For users of Jira GitLab, the GitLab for Jira app and the DVCS Connector
allow you to display information about GitLab
commits and merge requests directly in Jira.
Combined with our native
integration with Jira, you can easily move back and forth between the
two applications as you work.
These features were previously available only in our Premium plan, but
are now available to all users!
See Documentation and Issue.
See GitLab 13.6 (November 2020)
Group-level management of project integrations
In GitLab 13.3, we added the ability to enable an integration across an entire instance.
With GitLab 13.6, that feature is being expanded to allow integrations to be managed at the group level as well!
Group owners can now add an integration to a group, and that integration will be inherited by all projects under that group.
This has the potential for saving massive amounts of time, as many organizations have specific integrations that they want rolled out to every project they create.
A great example of this is using our Jira integration. If you’re using Jira, it’s almost always across the whole company. Some of these companies have thousands of projects and therefore had to configure each and every one of those integrations individually.
With group-level management of project integrations, you can add the integration at each parent group, reducing the amount of configuration required by orders of magnitude!
Read more in our announcement on the GitLab blog.
See Documentation and Epic.
With GitLab 13.10 (March 2021):
View Jira issue details in GitLab
Users of our Jira issue list feature can now view the details of an issue directly inside of GitLab! This MVC enables developers to see the details, labels, and comments on an issue, giving them the ability to stay in GitLab while working on Jira issues.
Our goal is to empower developers to stay inside of GitLab during the majority of their day, and this is now one less trip to Jira you’ll have to make.
In GitLab 13.10, this feature is available if you enable a feature flag. This feature will be enabled by default in GitLab 13.11.
See Documentation and Epic.

At the moment I think the GitLab Listener add-on for JIRA is the only way to integrate GitLab CE and JIRA. You can use commit messages to generate JIRA worklogs, comments and activities, as well as execute workflow transitions. The add-on also tries to map GitLab users to JIRA users in order to link worklogs, comments, etc. to the right user.
It's a simple add-on and maybe it does not cover all your requirements, but it's better than nothing :).

Related

Linking Jira Issues with individual bitbucket repositories

A company wants to use a single Jira project as some sort of small-scale feature request/ticket system. However, each request/issue would necessitate a stand-alone repo.
Is it possible to link some issues to an individual bitbucket repository?

TFS With Jira - Any tools?

I'm looking at integrating TFS with JIRA. I Want to run my test cases in TFS but when i raise bugs i want them to automatically update on the JIRA board. Is there anything out there that can make this possible?
Also would it automatically block the test case and link the bug in JIRA with it?
There is no such kind of build in feature or extension. However, you could raise bugs in TFS/Azure DevOps first when you run your test cases. Then synchronize your bugs with issues in Jira. It's not able to directly link the bug in JIRA with TFS test cases.
You could choose to use TFS4JIRA Azure DevOps integration.
TFS4JIRA is migration, integration and synchronization tool, which
bridges TFS / Azure DevOps and Jira (Server/DC/Cloud). Integrate
Azure DevOps with TFS4JIRA, to view your project or issue-associated
Azure DevOps check-ins in Jira, as well as synchronize changes made to
the issues and integrate Azure Jira work items.
Create your individual TFS4JIRA sync profiles and define the project collections which you want to work with.
Map your issue types, work item types, fields, values.
Hierarchy and subtasks synchronisation supported.
Enable your profile and, voila! – the synchronizer is making sure that Jira and Azure DevOps exchange information in the background.
If you already have some bug/issue work items in JIRA and want to import them to TFS on-premise server. There is an extension named Jira to Azure DevOps/TFS work item migration tool. It is used to Azure DevOps work item migration tool lets you export data from Jira and import it as work items in Azure DevOps or Microsoft Team Foundation Server. Here is the download page.

How can I create a new GitLab Project Service?

I am currently evaluating GitLab for the development process in a new team. For reasons that are beyond my control I need to integrate with TFS build (so that a merge request kicks off a new build and the build reports status to the merge request, etc). It seems, from what I have learned so far, that the only way to achieve this seamlessly would be with a new Project Service.
Is this true and if so how would I go about creating one?
I have searched through the relevant docs and forums and I can't find much information of use so I suspect that Project Services are less of an arbitrary, open plug-in style model but rather more a core part of the product. I am hoping to be proved wrong...
If the integrate of GitLab and TFS build means you want through GitLab to queue the TFS build automatically.
You may have to create your own service to receive the webhooks form Gitlab(How do I create a GitLab webhook?). And then trigger TFS build.
You might have a look at:
(paths taken from docker container)
/opt/gitlab/embedded/service/gitlab-rails/…
…/app/models/project_services/
have a look at the template: app/models/project_services/ci_service.rb
…/app/models/project.rb
…/app/models/service.rb
…/lib/api/v3/services.rb
…/lib/api/services.rb
where the first three are the most relevant, the api to complete the REST services.
But no, I wasn't able to find any documentation either...

Is it possible to add custom build runners to MS Team Foundation Build Server?

I've recently developed custom build runners (plugins) to TeamCity and Jenkins. The plugins enable the users to start automated load tests as part of the build process.
To give you some idea here's the Jenkins plugin page with a lot of description:
https://wiki.jenkins-ci.org/display/JENKINS/Apica+Loadtest+Plugin
Here are a couple of screenshots of the TeamCity plugin:
The setup GUI: https://i.imgsafe.org/5221a01.png
Build log: https://i.imgsafe.org/c93f7f9.png
Custom tab with load test summary: https://i.imgsafe.org/f5b6937.png
Setup validation example: https://i.imgsafe.org/52cc9a2.png
These Continuous Integration frameworks allow a high level of customisation for plugin development: the UI, the output, client and server code etc. can all be tailored.
I've received a question whether we can develop a similar build runner for MS Team Foundation Build Service. I've completely new to TFS, I've never used it for anything. I've read through a couple of tutorials on how to install and set up TFS but there seems to be very little material available regarding custom build runners. The closest I've got are the following pages:
https://msdn.microsoft.com/en-us/library/bb130146.aspx
http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx
However, they don't provide any example on GUI extensions, validation, customisation etc.
Therefore I'd like to get the opinion of experienced TFS users before we get any more serious with the framework:
is it possible to develop plugins for TFS build?
what are the limitations? E.g. can I build a custom GUI with custom client/server actions?
can I include custom pages, show graphs etc?
Any advice is welcome.
Thanks for your help,
Andras
When it comes to TFS Build, you first need to know that there are two build systems: XAML Build and a new, now default, build system.
XAML Builds are based on Windows Workflow Foundation. You can create custom activities and add these to a Build Definition Template. XAML Build only run on Windows and extending them is not very easy.
The new Build system is based on Node, runs cross-platform and is very easily extendable. Microsoft has open sourced all the tasks they have for TFS Build (see GitHub for the repository).
Targeting the new build system means that you support on-premises installations of TFS 2015 and the cloud hosted version of TFS: Visual Studio Team Services (see visualstudio.com for more info).
The easiest way to get started is by creating a new VSTS account (free!), adding some code and running a build. If you have that working, you can start exploring the existing build tasks and learn what's possible. You can then easily create your own task and start experimenting.
One thing that might be of interest to you is that TFS/VSTS already support load testing. You can run a very simple load test with a couple of mouse clicks or configure more complex Web Tests and use these in TFS in combination with Application Insights. I'm not sure if that's what your customers are looking for but it's worth checking out (see Cloud-based Load Testing for more information)

Kiln integration with JIRA

We are happy with JIRA and there is no willingness to move away from it. At present we have JIRA integrated well with Perforce. However we are considering moving to Kiln.
Losing the integration with JIRA would be a blocker.
Perforce not Proforce, right? Kiln has an API that could be used to integrate with JIRA, but I would also consider using Fisheye (from Atlassian) to interact directly with the Mercurial repositories used by Kiln. You could also use the JIRA Mercurial plugin that I wrote to interact with those repositories if you didn't want Fisheye for some reason.
This is an area that I know Atlassian are interested in finding out what people want. If you want to drop me a note about this I can forward it to their Dev Tools group.
Since Kiln uses Mercurial under the hood, you might also want to consider Atlassian's BitBucket, which is a hosted Mercurial repository.

Resources